Bonjour à tous,
Excel 2000
Je cherche la façon d'exécuter 2 boucles dans la même procédure (une à
l'intérieur de l'autre).
La première boucle est fonction du nombre de cellules non vides dans la
colonne A.
Je fais donc:
x = Application.CountA([A:A]) - 1
et ça fonctionne.
Pour la 2e boucle qui est fonction du nombre de cellules
non vides sur la ligne active, j'ai créé une variable "ligne"
dim ligne as integer
ligne=activecell.row
y = Application.Count([ligne:ligne]) - 1
C'est rendu là que ça ne fonctionne pas, la valeur rendue ne correspond pas
au nombre de cellules sur la ligne.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Pour imbriquer des boucles ....
Sub tset() Dim C As Range, Cel As Range, Ligne As Range With Worksheets("Feuil1") derlig = .Range("a65536").End(xlUp).Row 'pour ne boucler que sur seulement toutes les lignes 'de la colonne a contenant des constantes 'textes, nombres, erreur ou logiques (exclu les 'cellules contenant des formules For Each C In .Range("A:" & derlig).SpecialCells(xlCellTypeConstants, 23) 'Le resize(,3) pour définir le nombre de colonne de ta plage 'Remplace 3 par le chiffre que tu désires Set C = C.Resize(, 3) 'Pour chaque cellule de la plage For Each Ligne In C.Rows 'Pour chacune des cellules de chacune des lignes For Each Cel In Ligne.Cells 'Ton traitement Next Next Next End With End Sub
"Flac" a écrit dans le message de news:
Bonjour à tous, Excel 2000 Je cherche la façon d'exécuter 2 boucles dans la même procédure (une à l'intérieur de l'autre). La première boucle est fonction du nombre de cellules non vides dans la colonne A. Je fais donc: x = Application.CountA([A:A]) - 1 et ça fonctionne. Pour la 2e boucle qui est fonction du nombre de cellules non vides sur la ligne active, j'ai créé une variable "ligne" dim ligne as integer ligne¬tivecell.row y = Application.Count([ligne:ligne]) - 1 C'est rendu là que ça ne fonctionne pas, la valeur rendue ne correspond pas au nombre de cellules sur la ligne.
Qq aurait-il une suggestion? Merci
Flac
Pour imbriquer des boucles ....
Sub tset()
Dim C As Range, Cel As Range, Ligne As Range
With Worksheets("Feuil1")
derlig = .Range("a65536").End(xlUp).Row
'pour ne boucler que sur seulement toutes les lignes
'de la colonne a contenant des constantes
'textes, nombres, erreur ou logiques (exclu les
'cellules contenant des formules
For Each C In .Range("A:" & derlig).SpecialCells(xlCellTypeConstants, 23)
'Le resize(,3) pour définir le nombre de colonne de ta plage
'Remplace 3 par le chiffre que tu désires
Set C = C.Resize(, 3)
'Pour chaque cellule de la plage
For Each Ligne In C.Rows
'Pour chacune des cellules de chacune des lignes
For Each Cel In Ligne.Cells
'Ton traitement
Next
Next
Next
End With
End Sub
"Flac" <luc_bt@hotmail.com> a écrit dans le message de news:
eZwIVlKzIHA.5520@TK2MSFTNGP06.phx.gbl...
Bonjour à tous,
Excel 2000
Je cherche la façon d'exécuter 2 boucles dans la même procédure (une à
l'intérieur de l'autre).
La première boucle est fonction du nombre de cellules non vides dans la
colonne A.
Je fais donc:
x = Application.CountA([A:A]) - 1
et ça fonctionne.
Pour la 2e boucle qui est fonction du nombre de cellules
non vides sur la ligne active, j'ai créé une variable "ligne"
dim ligne as integer
ligne¬tivecell.row
y = Application.Count([ligne:ligne]) - 1
C'est rendu là que ça ne fonctionne pas, la valeur rendue ne correspond pas
au nombre de cellules sur la ligne.
Sub tset() Dim C As Range, Cel As Range, Ligne As Range With Worksheets("Feuil1") derlig = .Range("a65536").End(xlUp).Row 'pour ne boucler que sur seulement toutes les lignes 'de la colonne a contenant des constantes 'textes, nombres, erreur ou logiques (exclu les 'cellules contenant des formules For Each C In .Range("A:" & derlig).SpecialCells(xlCellTypeConstants, 23) 'Le resize(,3) pour définir le nombre de colonne de ta plage 'Remplace 3 par le chiffre que tu désires Set C = C.Resize(, 3) 'Pour chaque cellule de la plage For Each Ligne In C.Rows 'Pour chacune des cellules de chacune des lignes For Each Cel In Ligne.Cells 'Ton traitement Next Next Next End With End Sub
"Flac" a écrit dans le message de news:
Bonjour à tous, Excel 2000 Je cherche la façon d'exécuter 2 boucles dans la même procédure (une à l'intérieur de l'autre). La première boucle est fonction du nombre de cellules non vides dans la colonne A. Je fais donc: x = Application.CountA([A:A]) - 1 et ça fonctionne. Pour la 2e boucle qui est fonction du nombre de cellules non vides sur la ligne active, j'ai créé une variable "ligne" dim ligne as integer ligne¬tivecell.row y = Application.Count([ligne:ligne]) - 1 C'est rendu là que ça ne fonctionne pas, la valeur rendue ne correspond pas au nombre de cellules sur la ligne.