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