[Excel Macro] Méthode de recherche
Résolu
deniooo
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je cherche à parcourir une colonne. Y a t-il une commande (genre columns("A")) qui me permet de sélectionner toutes les cells de la colonnes ?
J'essaye d'éviter de passer par des ranges, surtout que je ne connais pas le nombre de cellules "active" (value <> "") dans la colonne.
j'ai essayé ce genre de truc :
Dim plage As Range
Dim cel As Range
Set plage = Application.Sheets(1).columns("A")
n = 0
For Each cel In plage
i = i + 1
If (cells(i, 1).Value <> "") Then
n = n + 1
cells(i, 1).Value = ""
End If
Next
Mais le soucis c'est que columns("A") ne renvoit pas un range..
Donc ma question est la suivante : y a t il une commande simple permmettant de résoudre ce souci ? un truc que je ne connais pas (je suis newbs dans ce langage et en prog :p)
Merci.
je cherche à parcourir une colonne. Y a t-il une commande (genre columns("A")) qui me permet de sélectionner toutes les cells de la colonnes ?
J'essaye d'éviter de passer par des ranges, surtout que je ne connais pas le nombre de cellules "active" (value <> "") dans la colonne.
j'ai essayé ce genre de truc :
Dim plage As Range
Dim cel As Range
Set plage = Application.Sheets(1).columns("A")
n = 0
For Each cel In plage
i = i + 1
If (cells(i, 1).Value <> "") Then
n = n + 1
cells(i, 1).Value = ""
End If
Next
Mais le soucis c'est que columns("A") ne renvoit pas un range..
Donc ma question est la suivante : y a t il une commande simple permmettant de résoudre ce souci ? un truc que je ne connais pas (je suis newbs dans ce langage et en prog :p)
Merci.
A voir également:
- [Excel Macro] Méthode de recherche
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Déplacer colonne excel - Guide
5 réponses
bonjour
Comme ceci, dans cellule tu obtiens A1, etc
Comme ceci, dans cellule tu obtiens A1, etc
Dim plage As Range Dim cel As Object Dim cellule, n Set plage = Sheets(1).Range("A:A") n = 0 For Each cel In plage If cel.Value <> "" Then n = n + 1 cellule = cel.Address(RowAbsolute:=False, columnAbsolute:=False) End If Next
Bonjour,
pour balayer la colonne A en t'arretant à la dernière cellule utilisée :
Dim cel As Range
For Each cel In Range("A1:A" & [A65536].End(xlUp).Row)
' ton code....
Next cel
Mais maintenant tu parles de compter les colonnes donc je ne sais plus trop ce que tu veux...
Un tit salut à gb au passage :-)
eric
pour balayer la colonne A en t'arretant à la dernière cellule utilisée :
Dim cel As Range
For Each cel In Range("A1:A" & [A65536].End(xlUp).Row)
' ton code....
Next cel
Mais maintenant tu parles de compter les colonnes donc je ne sais plus trop ce que tu veux...
Un tit salut à gb au passage :-)
eric
bonjour deniooo,
Si j'ai compris ce que tu cherches "ma méthode cherchée pour compter les colonnes" qui en fait est une erreur car dans une colonne tu ne peux compter des colonnes mais les cellules.
ps: salut à eric (pendant la mi-temps du match qui te passionne !)
Si j'ai compris ce que tu cherches "ma méthode cherchée pour compter les colonnes" qui en fait est une erreur car dans une colonne tu ne peux compter des colonnes mais les cellules.
n = Application.Sheets(1).UsedRange.Columns("A").Cells.Count
ps: salut à eric (pendant la mi-temps du match qui te passionne !)
Parfait merci ça répond parfaitement à mes attentes :)
Une petite précision néamoins, je pensais que la commande columns("A") ne renvoyais pas un range.. Je ne sais plus quand j'ai testé mais ça m'a choqué.. J'ai du me tromper ou il y a des conditions ?!
Une petite précision néamoins, je pensais que la commande columns("A") ne renvoyais pas un range.. Je ne sais plus quand j'ai testé mais ça m'a choqué.. J'ai du me tromper ou il y a des conditions ?!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Par contre j'ai une meilleure idée de ce qu'il me faut, il y a la commande Rows qui donne un range avec toutes les lignes, y a-t-il une commande de même type qui donnerai un range avec les colonnes ?
genre la commande :
UsedRange.X.rows.count où X serait ma méthode cherchée pour compter les colonnes.
Comme ça je pourrais avoir le nombre de lignes d'UNE colonne utilisée.
?