Parcourir cellules excel [Résolu]

Messages postés
27
Date d'inscription
vendredi 30 avril 2010
Statut
Membre
Dernière intervention
1 juin 2011
- - Dernière réponse : HiiiCoach
Messages postés
27
Date d'inscription
vendredi 30 avril 2010
Statut
Membre
Dernière intervention
1 juin 2011
- 21 mai 2010 à 16:36
Bonjour,

Je souhaiterai créer une boucle pour récupérer toutes les donnés se trouvant dans les cellules de n'importe quelle feuille Excel.

Sachant que je ne connais pas le nombre de cellules renseignées à l'avance, y a t-il une ligne de code qui permet de parcourir toutes les cellules de la feuille qui sera ouverte ?

Merci pour vos réponses.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
58
3
Merci
"C'est quoi un range"
Demande à l'aide de Excel de te renseigner.

Si tu as observé la fenêtre de debug (Ctrl-G), tu aura vu que, lorsque la boucle tourne, les chiffres des lignes et des colonnes défilent.

Tu demandais "Je souhaiterai créer une boucle pour récupérer toutes les donnés se trouvant dans les cellules de n'importe quelle feuille Excel" : Tu as maintenant ce qu'il te faut.
A toi de regarder dans l'aide (et ses exemples) à quoi sert chaque mot de ce code.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 140 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
58
0
Merci
Salut
Pour sélectionner toutes les cellules d'une feuille :
    Cells.Select
mais cela ne peut pas être utilisé comme un Range

Pour sélectionner toutes les cellules comportant quelque chose :
    Range("A1").Select
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select

Pour parcourir toutes les cellules d'un Range :
    Dim maCellule As Range
    For Each maCellule In Range("A1", ActiveCell.SpecialCells(xlLastCell))
        Debug.Print maCellule.Row, maCellule.Column
        DoEvents
    Next

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
27
Date d'inscription
vendredi 30 avril 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
Merci,

C'est quoi un range ?

J'ai besoin de faire des actions spécifiques à chaque cellule...

Voici mon code:

Dim maCellule As Range
For Each maCellule In Range("A1", ActiveCell.SpecialCells(xlLastCell))
Debug.Print maCellule.Row, maCellule.Column
DoEvents
Cells(i, 1) = part1
Cells(i, 2) = part2
Cells(i, 3) = "CREATION "
Cells(i, 4) = format_ex
Cells(i, 5) = code
Cells(i, 6) = " "
Cells(i, 8) = "0"
Next

For Each maCellule In Range("A1", ActiveCell.SpecialCells(xlLastCell))

Debug.Print maCellule.Row, maCellule.Column
DoEvents
Sheets(feuille).Select
Code_mvmt = Cells(i, 3)
txt2 = Cells(i, 2)
'Variable contenant le format externe
format_ex = Mid(txt2, 1, 2)
'Variable contenant le Code info
code = Mid(txt2, 3, 4)
Sheets("entête d'enregistrement").Select
Cells(i, 7) = Code_mvmt
i = i + 1
Cells(i, 4) = format_ex
Cells(i, 5) = code
Code_mvmt = ""
Next

Il ne tourne pas parce que i n'a pas de valeur (j'utiliais une boucle for avant...)

Pourrais tu m'aider ?

Peut-être qu'il est possible de compter le nombre de cellules utilisées pour ensuite mettre une boucle for ?
Commenter la réponse de HiiiCoach
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
58
0
Merci
Remplace
Debug.Print maCellule.Row, maCellule.Column
par
Debug.Print "Ligne : "; maCellule.Row, _
            "Colonne : ";maCellule.Column, _
            "Contenu : "; maCellule.Value
pour mieux te rendre compte de ce que fait le programme
Commenter la réponse de cs_Jack
Messages postés
27
Date d'inscription
vendredi 30 avril 2010
Statut
Membre
Dernière intervention
1 juin 2011
0
Merci
Merci ;)
Commenter la réponse de HiiiCoach