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
MichD
Le 2019-03-30 à 12:05, a écrit :
Bonjour, Par exemple j'ai 65 plages qui sont des Range. Je souhaite exécuter le même code pour les 15 range. Est-ce possible alors de faire comme pour des cellules … For each cell in Range.cells For each zones in ...Array(??? Ou quelque chose du genre? Merci à l'avance.
Bonjour, Eh oui, c'est possible. Exemple : 65 plages de cellules, c'est-à-dire des plages de cellules qui n'ont pas de cellules en commun '----------------------------------------------- Sub test() Dim DerLig As Long, DerCol As Long, X As String Dim Rg As Range, Are As Range, C As Range 'Adapte le nom de l'onglet de la feuille With Worksheets("Feuil1") 'Dernière ligne de la feuille DerLig = Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 'Dernière colonne de la feuille DerCol = Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 'L'étendue de toutes les cellules de toute les plages 'occupées dans la feuille Set Rg = .Range("A1", .Cells(DerLig, DerCol)).SpecialCells(xlCellTypeConstants, 23) 'Le 23 c'est la somme de la valeur numérique du type de données les valeurs de type : 'xlerrors = 16 'xlogical = 4 'Xlnumbers = 1 'xltextvalues = 2 'pour chaque plage distincte For Each Are In Rg.Areas 'pour chaque cellule de chacune des plages distinctes For Each C In Are.Cells 'ton code X = C.Address Next Next End With End Sub '----------------------------------------------- MichD
Le 2019-03-30 à 12:05, rmillerlcxl@gmail.com a écrit :
Bonjour,
Par exemple j'ai 65 plages qui sont des Range. Je souhaite exécuter le même code pour les 15 range.
Est-ce possible alors de faire comme pour des cellules … For each cell in Range.cells
For each zones in ...Array(???
Ou quelque chose du genre?
Merci à l'avance.
Bonjour,
Eh oui, c'est possible.
Exemple : 65 plages de cellules, c'est-à-dire des plages de cellules qui
n'ont pas de cellules en commun
'-----------------------------------------------
Sub test()
Dim DerLig As Long, DerCol As Long, X As String
Dim Rg As Range, Are As Range, C As Range
'Adapte le nom de l'onglet de la feuille
With Worksheets("Feuil1")
'Dernière ligne de la feuille
DerLig = Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
'Dernière colonne de la feuille
DerCol = Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
'L'étendue de toutes les cellules de toute les plages
'occupées dans la feuille
Set Rg = .Range("A1", .Cells(DerLig,
DerCol)).SpecialCells(xlCellTypeConstants, 23)
'Le 23 c'est la somme de la valeur numérique du type de données les
valeurs de type :
'xlerrors = 16
'xlogical = 4
'Xlnumbers = 1
'xltextvalues = 2
'pour chaque plage distincte
For Each Are In Rg.Areas
'pour chaque cellule de chacune des plages distinctes
For Each C In Are.Cells
'ton code
X = C.Address
Next
Next
End With
End Sub
'-----------------------------------------------
Bonjour, Par exemple j'ai 65 plages qui sont des Range. Je souhaite exécuter le même code pour les 15 range. Est-ce possible alors de faire comme pour des cellules … For each cell in Range.cells For each zones in ...Array(??? Ou quelque chose du genre? Merci à l'avance.
Bonjour, Eh oui, c'est possible. Exemple : 65 plages de cellules, c'est-à-dire des plages de cellules qui n'ont pas de cellules en commun '----------------------------------------------- Sub test() Dim DerLig As Long, DerCol As Long, X As String Dim Rg As Range, Are As Range, C As Range 'Adapte le nom de l'onglet de la feuille With Worksheets("Feuil1") 'Dernière ligne de la feuille DerLig = Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 'Dernière colonne de la feuille DerCol = Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 'L'étendue de toutes les cellules de toute les plages 'occupées dans la feuille Set Rg = .Range("A1", .Cells(DerLig, DerCol)).SpecialCells(xlCellTypeConstants, 23) 'Le 23 c'est la somme de la valeur numérique du type de données les valeurs de type : 'xlerrors = 16 'xlogical = 4 'Xlnumbers = 1 'xltextvalues = 2 'pour chaque plage distincte For Each Are In Rg.Areas 'pour chaque cellule de chacune des plages distinctes For Each C In Are.Cells 'ton code X = C.Address Next Next End With End Sub '----------------------------------------------- MichD
MichD
Tu t'es sûrement rendu compte qu'il manquait un "." (point) devant les 2 "Cells" DerLig = .Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 'Dernière colonne de la feuille DerCol = .Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column MichD
Tu t'es sûrement rendu compte qu'il manquait un "." (point) devant les 2
"Cells"
DerLig = .Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
'Dernière colonne de la feuille
DerCol = .Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Tu t'es sûrement rendu compte qu'il manquait un "." (point) devant les 2 "Cells" DerLig = .Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 'Dernière colonne de la feuille DerCol = .Cells.Find("*", LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column MichD