Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

probleme vb excel interfichier




  1. #1
    zicou

    Exclamation probleme vb excel interfichier

    Bonjour les amis j'ai un probleme au niveau de l'execution d'un macro.
    voici exactement ce que je veux:
    je veux concevoir un petit programme macro ou .exe ou autre qui m'aidera à automatiser l'extraction de certaine données de mes fichiers excel dont je lui précise leur chemin d'acces exp "c:\bureau\donnée...."

    depuis le fichier cell.csv extraire les colonnes "cellInstance" "CellGlobalIdentity"
    depuis Adjacency.csv extraire les colonnes "AdjacencyInstanceIdentifi er"
    depuis ExternalOmcCell.csv "ExternalOmcCellInstanceId " CellGlobalIdt" et "UserLabel"
    **depuis le fichier kef+kef2.dat le convertir en excel pour faciliter l'extraction de ses données qui doivent étre bien repartit en colonnes

    ces colonnes je veux les rassembler dans un fichier excel qui s'appelle "Global" ensuite je le placerai dans une base de donné (2ème etape)
    Pour le moment je m'interesse à la 1ère étape.
    Merci de bien vouloir m'aider je suis vraiment coincé et presque désesperé.

    Voici un extrait du programme VB:

    Code:
    Sub rassemblement()
    '
    ' rassemblement Macro
    ' Macro enregistrée le 01/09/2008 par Ben Hammoud
    '
    
    '
    Windows("Cell.csv").Activate
    Range("A1:G1").Select
    Selection.Copy
    Windows("global.xls").Activate
    Range("A1:E1").Select
    ActiveSheet.Paste
    Range("A2").Select
    Windows("Cell.csv").Activate
    Range("B2:B1200").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("global.xls").Activate
    ActiveSheet.Paste
    Columns("A:A").ColumnWidth = 21.29
    Columns("A:A").ColumnWidth = 40.57
    Columns("A:A").ColumnWidth = 45
    Range("B2").Select
    Windows("Cell.csv").Activate
    ActiveWindow.ScrollRow = 1159
    ActiveWindow.ScrollRow = 1134
    ActiveWindow.ScrollRow = 1126
    ActiveWindow.ScrollRow = 1112
    .......
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ......
    Columns("EV:EV").ColumnWidth = 22
    Range("EU2:EV1200").Select
    Range("EV2").Activate
    ActiveWindow.SmallScroll Down:=-30
    ActiveWindow.ScrollRow = 1143
    ActiveWindow.ScrollRow = 1141
    ActiveWindow.ScrollRow = 1138
    .......
    Columns("EU:EU").ColumnWidth = 17.71
    Range("EV2:EV1200").Select
    ActiveWindow.ScrollColumn = 143
    ActiveWindow.ScrollColumn = 144
    ActiveWindow.ScrollColumn = 145
    ActiveWindow.ScrollColumn = 146
    Application.CutCopyMode = False
    Selection.Copy
    Windows("global.xls").Activate
    ActiveSheet.Paste
    Columns("B:B").ColumnWidth = 39.86
    Windows("Cell.csv").Activate
    ActiveWindow.ScrollRow = 1196
    ActiveWindow.ScrollRow = 1193
    ActiveWindow.ScrollRow = 1191
    .......
    Windows("Adjacency.csv").Activate
    Columns("B:B").ColumnWidth = 23.57
    Columns("B:B").ColumnWidth = 32.57
    Columns("B:B").ColumnWidth = 48
    Columns("B:B").ColumnWidth = 56.86
    Columns("B:B").ColumnWidth = 67.57
    Columns("B:B").ColumnWidth = 83.43
    Columns("B:B").ColumnWidth = 90
    Range("B2:B20000").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("global.xls").Activate
    Range("D2").Select
    ActiveSheet.Paste
    Columns("D:D").ColumnWidth = 41.29
    ActiveWindow.ScrollColumn = 2
    Columns("D:D").ColumnWidth = 66.14
    Columns("D:D").ColumnWidth = 48.57
    Columns("E:E").Select
    Columns("D:D").ColumnWidth = 77.43
    ActiveWindow.ScrollColumn = 3
    Columns("D:D").ColumnWidth = 106.86
    Columns("D:D").ColumnWidth = 98
    Windows("ExternalOmcCell.csv").Activate
    Columns("B:B").ColumnWidth = 22.86
    Columns("B:B").ColumnWidth = 32.57
    Columns("B:B").ColumnWidth = 37.71
    Columns("B:B").ColumnWidth = 43
    Columns("B:B").ColumnWidth = 48.43
    Range("B2:B12000").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("global.xls").Activate
    Range("E2").Select
    ActiveSheet.Paste
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    Columns("E:E").ColumnWidth = 44.71
    Windows("ExternalOmcCell.csv").Activate
    ActiveWindow.ScrollRow = 11976
    ActiveWindow.ScrollRow = 11954
    ActiveWindow.ScrollRow = 11909
    .......
    Columns("R:R").ColumnWidth = 30.43
    Range("R2:R12000").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("global.xls").Activate
    Range("F2").Select
    ActiveSheet.Paste
    Columns("F:F").ColumnWidth = 40.86
    Windows("ExternalOmcCell.csv").Activate
    ActiveWindow.ScrollRow = 11977
    ActiveWindow.ScrollRow = 11955
    ......
    Range("AH2:AH12000").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("global.xls").Activate
    Range("G2").Select
    ActiveSheet.Paste
    Columns("G:G").ColumnWidth = 25.14
    Columns("G:G").ColumnWidth = 26.86
    End Sub
    
    ********************************************************
    Quand je l'execute il m'affiche:
    erreur d'execution '9'
    l'indice n'appartient pas à la selection
    
    le debogueur s'arrete à cette ligne
    
    Windows("Cell.csv").Activate
    
    ***********************************************************
    voici le lien de mes fichiers
    http://www.cijoint.fr/cjlink.php?fil...cij7oz7jTs.zip

    -----

    Dernière modification par yoda1234 ; 04/09/2008 à 14h32.

  2. #2
    mécano41

    Re : probleme vb excel interfichier

    Bonjour,

    On peut essayer de faire quelque chose mais il faudrait préciser certains points :

    - je suppose que tu souhaites sélectionner les fichiers (ceux dont on va copier des colonnes) à l'aide de la boîte de dialogue standard avec : Parcourir... que l'on peut faire apparaître en cliquant sur un bouton? Si les fichiers sont tous dans le même répertoire, tu pourrais les sélectionner tous et les ouvrir d'un coup.

    - est-ce que tu devras sélectionner les mêmes fichiers à chaque session de ton application? (c'est à dire : doit-on garder les noms de ces fichiers en mémoire et les afficher à la session suivante ou faudra-t-il de toutes façons choisir d'autres fichiers pour y copier les colonnes?)

    - les colonnes copiées seront elles toujours à la même position? Je demande cela car s'il faut les chercher par le nom, cela risque de cafouiller car je me suis aperçu, en les recherchant par le nom, qu'il y avait un mélange entre le l (L minuscule) et le l (i majuscule)!

    - le fichier le fichier résultant "Global" sera-t-il déjà créé?

    - le fichier kef+kef2.dat converti donne ce qui est dans l'extrait joint (sans les couleurs évidemment!). Il est fait de 3 parties. Deux parties (bleue et verte) sont constituées de blocs d'un même modèle et la troisième partie est constituée de lignes. Que faudrait-il copier dans ce fichier?


    Cordialement
    Fichiers attachés Fichiers attachés
    Dernière modification par mécano41 ; 04/09/2008 à 13h05.

Discussions similaires

  1. Transfert Automatique de cellules Excel vers Excel
    Par deadog182 dans le forum Logiciel - Software - Open Source
    Réponses: 25
    Dernier message: 22/01/2018, 20h55
  2. Problème conversion fichiers excel PC vers excel MAC
    Par Pallmall37 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 14/11/2007, 21h31
  3. problème ouverture excel
    Par yonyon dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 17/05/2007, 08h54
  4. problème avec excel
    Par âne dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 30/11/2006, 02h47
  5. Probleme avec excel
    Par lOUPSERVIER dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 11/03/2006, 19h28