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 :

Parcourir une colonne ligne par ligne [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 15
    Par défaut Parcourir une colonne ligne par ligne
    Bonjour,

    J'ai un souci pour parcourir une colonne, j'ai uniquement les 98 dernières lignes qui sont parcourues, j'ai repris l'exemple 1 de ce post.

    Voici comment je l'ai utilisé:
    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
    Private Sub Worksheet_Activate()
     
    Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
    Dim NoLig As Long, DerLig As Long, Var As Variant
     
        'Instance de la feuille qui permet d'utiliser FL1 partout dans
        'le code à la place du nom de la feuille
        Set FL1 = Worksheets("Feuil1")
     
        'Détermine la dernière ligne renseignée de la feuille de calculs
        '(Voir explication sur l'utilisation de Split en bas de cette discussion)
        DerLig = Split(FL1.UsedRange.Address, "$")(4)
     
        'Fixe le N° de la colonne à lire
        NoCol = 2
     
        'Utilisation du N° de ligne dans une boucle For ... Next
        For NoLig = 1 To DerLig
            Var = FL1.Cells(NoLig, NoCol)
            'Pour tester : Affiche les variables dans la fenêtre Exécution de VBA
            Debug.Print Var
        Next
        Set FL1 = Nothing
     
    End Sub
    Merci de votre aide !

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    As-tu testé en mode pas à pas? (touche F8)
    Quel est la valeur de DerLig?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 15
    Par défaut
    Bonjour halaster,

    D'abord, merci de ta réponse rapide. J'ai testé en debugant mais ce qui est bizarre c'est que là ça m'affiche bien toutes les lignes alors que ce n'est pas le cas en exécutant. J'ai DerLig = 4687 et j'ai bien 4687 lignes.

    Autre précision: si je supprime la dernière ligne à l'exécution l'affichage dans la console de débogage remontre d'une ligne et affiche bien toujours 98 lignes.

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Je ne sais pas si le problème est là mais pourquoi Private Sub Worksheet_Activate()Tu sais que c'est une macro evenmentielle?
    As tu testé dans un module normal?

    edit: Essaye avec ce code de dernière ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerLig = FL1.Range("B" & Rows.Count).End(xlUp).Row

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 15
    Par défaut
    Je viens de tester en créant un macro à part, c'est le même souci. Oui j'ai volontairement introduit ça dans une macro événementielle pour que cela se déclenche au changement de feuille. Je me demande si ce n'est pas la console de débogage qui a un nombre limité de lignes à afficher.
    J'ai bien testé avec le nouveau code que tu me fournis pour DerLig cela m'affiche exactement le même résultat.

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Je me demande si ce n'est pas la console de débogage qui a un nombre limité de lignes à afficher.
    Non. je viens d'en afficher 9999

    Essaye avec ce code de dernière ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerLig = FL1.Range("B" & Rows.Count).End(xlUp).Row

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Si tu testes la maccro sur un autre fichiers as-tu le même problème?
    Y a-t-il quelque chose de particulier a la ligne 98?

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

Discussions similaires

  1. Lire une zone de texte ligne par ligne sous JavaFX
    Par Markos22 dans le forum JavaFX
    Réponses: 10
    Dernier message: 17/08/2016, 21h57
  2. lire une base de donnee ligne par ligne
    Par thildouille dans le forum Langage
    Réponses: 9
    Dernier message: 03/06/2011, 00h50
  3. Réponses: 8
    Dernier message: 18/07/2010, 21h16
  4. Réponses: 12
    Dernier message: 14/05/2008, 17h15
  5. Réponses: 3
    Dernier message: 16/10/2007, 20h45

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