Excel 2010 fusion de cellules dans colonne
Résolu/Fermé
JeanR
-
Modifié par JeanR le 4/09/2012 à 13:19
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 14 mars 2024 - 4 sept. 2012 à 15:47
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 14 mars 2024 - 4 sept. 2012 à 15:47
A voir également:
- Excel 2010 fusion de cellules dans colonne
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
- Excel additionner des cellules - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel fusionner deux cellules - Guide
4 réponses
Bonjour,
d'abord merci de votre réponse !
Le fichiel est intégral, la manipulation ne sera effectivement effectuée qu'une seule fois. Seulement, Excel est effectivement obligatoire :/
d'abord merci de votre réponse !
Le fichiel est intégral, la manipulation ne sera effectivement effectuée qu'une seule fois. Seulement, Excel est effectivement obligatoire :/
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 mars 2024
7 210
4 sept. 2012 à 14:11
4 sept. 2012 à 14:11
Bonjour,
Bon, je met quand même ma proposition :
https://www.cjoint.com/?BIeogFNaYE7
eric
Bon, je met quand même ma proposition :
Sub fusionner() Dim lig1 As Long, lig2 As Long Application.DisplayAlerts = False Application.ScreenUpdating = False For lig1 = 2 To Cells(Rows.Count, 5).End(xlUp).Row lig2 = 0 While Cells(lig1, 5) = Cells(lig1 + lig2, 5) lig2 = lig2 + 1 Wend If lig2 > 0 Then Cells(lig1, 5).Resize(lig2, 1).Merge lig1 = lig1 + lig2 End If Next lig1 Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
https://www.cjoint.com/?BIeogFNaYE7
eric
Cela n'explique pas tout, mais apparemment à chanque changement d'occurence, la fusion ne prend pas en compte le premier de la liste.
exemple :
2
3
3
3
seuls les deux derniers 3 seront fusionnés. Je ne sais pas si je suis bien clair..
Je ne suis pas sûr de comprendre l'intégralité de votre code, mais peut-être, pour une raison obscure à mes yeux, faut-il passer à Lig1- 1 lors du .merge ?
exemple :
2
3
3
3
seuls les deux derniers 3 seront fusionnés. Je ne sais pas si je suis bien clair..
Je ne suis pas sûr de comprendre l'intégralité de votre code, mais peut-être, pour une raison obscure à mes yeux, faut-il passer à Lig1- 1 lors du .merge ?
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 mars 2024
7 210
Modifié par eriiic le 4/09/2012 à 14:53
Modifié par eriiic le 4/09/2012 à 14:53
Oui, j'avais fait une petite erreur :
car le next lig1 fait +1
eric
Sub fusionner()
Dim lig1 As Long, lig2 As Long
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For lig1 = 2 To Cells(Rows.Count, 5).End(xlUp).Row
lig2 = 0
While Cells(lig1, 5) = Cells(lig1 + lig2, 5)
lig2 = lig2 + 1
Wend
If lig2 > 0 Then
Cells(lig1, 5).Resize(lig2, 1).Merge
lig1 = lig1 + lig2 - 1
End If
Next lig1
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
car le next lig1 fait +1
eric
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
Modifié par Morgothal le 4/09/2012 à 13:41
Modifié par Morgothal le 4/09/2012 à 13:41
Bonjour,
Une solution existe sur Excel, elle est relativement compliquée à mettre en place et n'est pas très souple...
Si c'est un besoin ponctuel, passer par Access peut-être une bien meilleure solution par rapport au quotient temps/qualité...
Excel est obligatoire ? Est-ce un besoin ponctuel (à la limite, la manip via Access peut s'automatiser) ?
-------------------
Cordialement,
Clément
Une solution existe sur Excel, elle est relativement compliquée à mettre en place et n'est pas très souple...
Si c'est un besoin ponctuel, passer par Access peut-être une bien meilleure solution par rapport au quotient temps/qualité...
Excel est obligatoire ? Est-ce un besoin ponctuel (à la limite, la manip via Access peut s'automatiser) ?
-------------------
Cordialement,
Clément
Finalement, la macro que j'avais trouvé et adapté (avec mon très très faible niveau) fonctionne si j'avance de 500 lignes en 500 lignes (probablement la faiblesse de puissance de mon pc), je vais donc répéter la macro 80 fois et ça ira (heureusement que je ne dois le faire qu'une fois ! ^^)
Merci encore pour votre temps et investissement,
Bonne continuation :)
Merci encore pour votre temps et investissement,
Bonne continuation :)
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
4 sept. 2012 à 13:53
4 sept. 2012 à 13:53
Par "Excel obligatoire", j'entendais "Est-ce que vous avez Access d'installé", parce qu'après Access on peut retourner les résultats sous Excel très facilement.
Cependant, si vous avez réussi à résoudre votre problème, ça n' a plus lieu d'être ;)
Cependant, si vous avez réussi à résoudre votre problème, ça n' a plus lieu d'être ;)