Bonjour à tous!
comment écrire en VBA une bouche "tant que" puis exécuter une routine jusqu'à la fin du fichier qui contient un nombre de lignes variable.
Merci !
Version imprimable
Bonjour à tous!
comment écrire en VBA une bouche "tant que" puis exécuter une routine jusqu'à la fin du fichier qui contient un nombre de lignes variable.
Merci !
Essaye ceci:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Dim fso As Object Dim fichier As Object Dim ligne As String Dim NbLigne As Long NbLigne = 0 ' Créer un objet FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") ' Ouvrir le fichier en lecture Set fichier = fso.OpenTextFile("C:\NomFichier.txt", 1) ' Boucler sur chaque ligne du fichier While Not fichier.AtEndOfStream ' Lire la ligne suivante ligne = fichier.ReadLine NbLigne = NbLigne + 1 ' Exécuter la routine ici ' Wend ' Fermer le fichier fichier.Close MsgBox NbLigne
Salut,
Et si tu veux le faire avec les méthodes intégrées à VBA voici la réponse de ChatGPT (C'est toujours rigolo de l'utiliser)
Et les explications associées :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub LireFichier() Dim Fichier As Integer Dim Texte As String Fichier = FreeFile 'Ouvrir le fichier Open "chemin\vers\fichier.txt" For Input As #Fichier 'Lire le contenu du fichier ligne par ligne Do Until EOF(Fichier) Line Input #Fichier, Texte Debug.Print Texte Loop 'Fermer le fichier Close #Fichier End Sub
Dans ce code, la variable Fichier représente le numéro du fichier ouvert, et la variable Texte est utilisée pour stocker chaque ligne lue.
La commande FreeFile permet de récupérer un numéro de fichier libre pour l'ouverture du fichier.
La commande Open permet d'ouvrir le fichier en mode lecture (For Input), en spécifiant le chemin d'accès au fichier.
La boucle Do Until lit le contenu du fichier ligne par ligne jusqu'à la fin du fichier (EOF), en stockant chaque ligne dans la variable Texte.
Enfin, la commande Close permet de fermer le fichier une fois que toutes les lignes ont été lues.
On peut aussi vérifier que le fichier existe bien, avec un Dir(). si le fichier est déjà ouvert une erreur se produit.
Un peu de lecture : Instruction Open (VBA) | Microsoft Learn
Voili voilou,
Bonjour,
J'ai préparé un petit tuto de ce que je cherche a faire avec un fichier joint et zut comment envioyer un fichier jpeg dans ce forum?
Re,
déjà poster une demande en double c'est pas top, mais poursuivre la conversation alternativement sur les deux topics c'est pas top pour ceux qui répondent.
https://www.developpez.net/forums/d2...l/boucle-tant/
Je suggère de ne garder qu'un seul sujet et de renvoyer l'autre dessus.