VBA Excel
Résolu
damlaine
Messages postés
18
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Ca fait un peu plus d'une semaine que j'ai découvert la programmation vba sur excel et je rencontre un problème m'empechant de réaliser ma programmation.
Ma programmation est telle qu'elle doit réaliser des extractions à partir d'excel de plusieurs chaines de caractères (correspondant à des coordonnées) dans un fichier txt (bloc note). Cette tâche a été faite par les fonction InStr() et Mid(). Pour plus d'information, il y a x mesures de 16 coordonnées. Après je doit placer ces extractions dans des cellules du classeur excel de la manière suivante : sur une ligne que l'on précisera il y aura une coordonées , chaque cellule de la ligne (colonne = x mesure) doit prendre une extraction. Mon code pour ce tache est le suivant :
Le problème que je rencontre est que chaque colonne de la ligne garde la dernière extraction sans tenir compte des précédentes.
Si quelqu'un pourrez m'aider à régler ce problème par une autre proposition de code ou modification de code ca serait gentil.
Merci d'avance Cyril
Ca fait un peu plus d'une semaine que j'ai découvert la programmation vba sur excel et je rencontre un problème m'empechant de réaliser ma programmation.
Ma programmation est telle qu'elle doit réaliser des extractions à partir d'excel de plusieurs chaines de caractères (correspondant à des coordonnées) dans un fichier txt (bloc note). Cette tâche a été faite par les fonction InStr() et Mid(). Pour plus d'information, il y a x mesures de 16 coordonnées. Après je doit placer ces extractions dans des cellules du classeur excel de la manière suivante : sur une ligne que l'on précisera il y aura une coordonées , chaque cellule de la ligne (colonne = x mesure) doit prendre une extraction. Mon code pour ce tache est le suivant :
Dim var1 As String, x As String 'Déclaration des variables Dim vari As Integer, colonne As Integer, ligne As Integer vari = FreeFile() 'Fonction pour obtenir le prochain numéro de fichier disponible Open "C:\Documents and Settings\Stagiaire\Bureau\Prog_robot.txt" For Input As #1 'Ouverture du fichier While Not EOF(1) 'Tant que la lecture du fichier n'est pas fini Input #1, var1 'Lecture des données du fichier Prog_robot et les attribue à une variable For colonne = 2 To 100 Step 1 'débute à la deuxièmre colonne et fin à la centième ligne = 2 If Cells(ligne, colonne) = "" Then 'Si la première cellule est vide alrs If InStr(1, var1, "PALETTE FLACONS") <> 0 Then 'la remplir des caractères extrait dans le fichier txt Worksheets("Feuil1").Cells(ligne, colonne).Value = Mid(var1, 2, 17) End If Else: Cells(ligne, colonne + 1) = Mid(var1, 2, 17) 'Sinon passer à la colonne suivante et Worksheets("Feuil1").Cells(ligne, colonne).Value = Mid(var1, 2, 17) 'la remplir des caractères ectrait dans le fichier txt End If 'Fin de la condition Si Next colonne
Le problème que je rencontre est que chaque colonne de la ligne garde la dernière extraction sans tenir compte des précédentes.
Si quelqu'un pourrez m'aider à régler ce problème par une autre proposition de code ou modification de code ca serait gentil.
Merci d'avance Cyril
A voir également:
- VBA Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide