Bornes adresses de cellules en Vba Excel 2007
Résolu
MarcosB
Messages postés
2
Statut
Membre
-
MarcosB Messages postés 2 Statut Membre -
MarcosB Messages postés 2 Statut Membre -
Bonjour,
Je cherche une macro permettant :
- de trouver les bornes (n° de ligne du début et n° de ligne de fin) de lignes ayant une valeur en commun dans une colonne (données en feuille 1)
- de renseigner dans une feuille 2 un tableau avec les numéros de début et fin de lignes de chacun des groupes (=différents libellés dans la colonne nom de la feuille 1)
Si vous avez des pistes, je suis preneur.
Merci par avance
Exemple de données de la Feuille 1
colonne 1 | nom
-----------------------------
action 1 | albert
action 3 | albert
action 7 | joseph
action 4 | marcel
action 5 | marcel
action 6 | maurice
action 8 | nicolas
Exemple de données de la Feuille 2 (avec les adresses de début et de fin renseignées)
Nom | Début | Fin
-------------------------------
albert | 2 | 3
joseph | 4 | 4
marcel | 5 | 6
maurice | 7 | 7
nicolas | 8 | 8
Je cherche une macro permettant :
- de trouver les bornes (n° de ligne du début et n° de ligne de fin) de lignes ayant une valeur en commun dans une colonne (données en feuille 1)
- de renseigner dans une feuille 2 un tableau avec les numéros de début et fin de lignes de chacun des groupes (=différents libellés dans la colonne nom de la feuille 1)
Si vous avez des pistes, je suis preneur.
Merci par avance
Exemple de données de la Feuille 1
colonne 1 | nom
-----------------------------
action 1 | albert
action 3 | albert
action 7 | joseph
action 4 | marcel
action 5 | marcel
action 6 | maurice
action 8 | nicolas
Exemple de données de la Feuille 2 (avec les adresses de début et de fin renseignées)
Nom | Début | Fin
-------------------------------
albert | 2 | 3
joseph | 4 | 4
marcel | 5 | 6
maurice | 7 | 7
nicolas | 8 | 8
3 réponses
-
Bonjour,
Mis à part les doublons qui se suivent, y a t'il dans ta colonne d'autres doublons possibles?
Exemple :
colonne 1 | nom
-----------------------------
action 1 | albert
action 3 | albert
action 7 | joseph
action 4 | marcel
action 5 | marcel
action 6 | maurice
action 8 | nicolas
action 9 | albert
action10| joseph -
Re-
En fait, on s'en fiche de savoir si tu as des doublons ou pas...
Voici ton code VBA :Option Explicit Sub Regroupe_Données() Dim Tabl, i As Long, Cpt As Long With Sheets("Feuil1") Tabl = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)) '*** on commence en B2!!! End With With Sheets("Feuil2") i = LBound(Tabl) Cpt = i .Cells(Cpt, 1) = Tabl(i, 1) 'Ici on présume commencer le Tableau en ligne 2 (cf *** ci-dessus) 'donc le numéro de ligne = indice du tableau (i) + 1 'si les données débutent en ligne 1 remplacer i + 1 par i .Cells(Cpt, 2) = i + 1 .Cells(Cpt, 3) = i + 1 For i = LBound(Tabl) + 1 To UBound(Tabl) If Tabl(i, 1) = Tabl(i - 1, 1) Then .Cells(Cpt, 1) = Tabl(i, 1) .Cells(Cpt, 3) = i + 1 Else Cpt = Cpt + 1 .Cells(Cpt, 1) = Tabl(i, 1) .Cells(Cpt, 2) = i + 1 .Cells(Cpt, 3) = i + 1 End If Next End With End Sub
Cordialement,
Franck P -