IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle "tant que" [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2017
    Messages : 69
    Par défaut Boucle "tant que"
    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 !

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Par défaut
    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2017
    Messages : 69
    Par défaut
    Citation Envoyé par Boulatwo Voir le message
    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

    Merci pour votre réponse, je vais tester çà cet apres midi !

  4. #4
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 520
    Par défaut
    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)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Et les explications associées :

    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,

  5. #5
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2017
    Messages : 69
    Par défaut Boucle "tant que" en VBA
    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?

  6. #6
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2017
    Messages : 69
    Par défaut
    Citation Envoyé par Rotax27 Voir le message
    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?
    je comprends rien j'abandonne !!

  7. #7
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle While tant que condition est différent de true
    Par Sylar dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/04/2021, 11h12
  2. [XL-2003] Boucle repeter tant que
    Par manzlem dans le forum Excel
    Réponses: 1
    Dernier message: 20/08/2015, 14h13
  3. Boucle while tant que variable existe
    Par victordot85 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/08/2013, 09h23
  4. [LG] Inversion avec une boucle tant que
    Par erickson dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo