Fusionner des cellules identiques sur X lignes

Jeydu77410

XLDnaute Nouveau
Bonjour à tous,

Et oui, un Nième sujet ouvert sur la fusion automatique de cellule... ;)... j'ai parcouru les forums mais malheureusement, je n'ai pas trouvé de réponse à mon problème...

Je sais éditer et lancer une macro mais je ne sais pas faire de code :s ... donc si mon problème est un peu différent d'un autre trouvé sur un forum je suis incapable de l'adapter :s

Le problème:

Je souhaite fusionner les cellules identiques de la première colonne sachant que la quantité de cellule en doublon varie...

Pour être très clair... je vous joint un fichier reprenant mon tableur avant la macro et le tableau que je souhaite obtenir grace à la macro...

Pour info... j'ai plus de 1500 lignes dans le tableau...

Vous remerciant par avance :D
 

Pièces jointes

  • test.xls
    19 KB · Affichages: 97
  • test.xls
    19 KB · Affichages: 63
  • test.xls
    19 KB · Affichages: 49

Caillou

XLDnaute Impliqué
Re : Fusionner des cellules identiques sur X lignes

Bonjour,

Regardes et exécutes Macro1 dans le fichier joint
la ligne i=4
correspond à la ligne de départ dans la colonne 1

Caillou
 

Pièces jointes

  • test.xls
    34.5 KB · Affichages: 325
  • test.xls
    34.5 KB · Affichages: 134
  • test.xls
    34.5 KB · Affichages: 121

Jeydu77410

XLDnaute Nouveau
Re : Fusionner des cellules identiques sur X lignes

Super!!!! :D
Ca marche parfaitement!!! Tu es mon héro! :p


Afin d'essayer de comprendre le code...

Dans le code à ce moment :

i = 4 ==> (J'ai bien compris que le 4 indiquait la 4ème ligne... mais comment sais t-on qu'il part de la colonne A?)

j = i ==> (littéralement à quoi correspond j = i? )


Et dernière petite question... si je souhaite appliquer cette macro à la colonne C (par exemple) ... que dois-je changer dans le code?

En tout cas merci beaucoup!!!
Geoffrey
 

Caillou

XLDnaute Impliqué
Re : Fusionner des cellules identiques sur X lignes

Merci, content de t'avoir rendu service

Ci dessous le code commenté :
Code:
Sub Macro1()
  Dim i As Integer, j As Integer
  
  'N° ligne départ
  i = 4
  
  'Ne pas afficher les messages d'alertes
  Application.DisplayAlerts = False
  
  'Faire tant que la cellule n'est pas vide
  'Le 1 de cells représente la Colonne 1 donc A
  Do While Not IsEmpty(Cells(i, 1))
    'mémorise la position de la 1ere valeur j=i signifie de mémoriser dans la variable j, la valeur actuelle de i
    j = i
    'faire tant que la cellule est = à celle en dessous (d'ou le i+1)
    Do While Cells(j, 1) = Cells(i + 1, 1)
      'fusionner
      Range(Cells(i, 1), Cells(i + 1, 1)).Merge
      'passer à la ligne suivante
      i = i + 1
        
    Loop
    'passer à la ligne suivante
    i = i + 1
  Loop
End Sub

Bonne journée

Caillou
 

Discussions similaires

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 872
dernier inscrit
YvanCB