Macro - fusion de cellule avec meme contenu

Résolu/Fermé
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 - 11 mars 2010 à 10:35
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 - 11 mars 2010 à 15:49
Bonjour,

j'amerais savoir s'il serais possible de faire une macro qui fusionnerais toutes les cellules qui se suivent (dans la meme colonne) ayant le meme contenu.

Merci d'avance
A voir également:

6 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
11 mars 2010 à 15:40
Re,
olala jsuis fatigué moi, désolé, encore une erreur d'inattention de ma part : les variables doivent etre déclarées en Long et pas Integer :
Sub fusionner()

Dim i As Long, j As Long

Application.ScreenUpdating = False
Application.DisplayAlerts = False

j = 1

For i = 1 To 65535
    If Not IsEmpty(Range("A" & i)) Then
        j = i + 1
        While Range("A" & i).Value = Range("A" & j).Value
            j = j + 1
        Wend
        Range("A" & i & ":A" & j - 1).MergeCells = True
    End If
Next i

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

dsl, j'ai fait ça vite fait pour dépanner et n'ai pas pris la peine de tester la dernière version (sur mon test je ne traitais que qqes lignes), j'ai juste modifié le i = 1 to 100 sans réfléchir :s
1
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
11 mars 2010 à 11:40
Bonjour,
Voici un exemple pour la colonne A :
Sub fusionner()

Dim i As Integer, j As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False

j = 1

For i = 1 To 65536
    If Not IsEmpty(Range("A" & i)) Then
        j = i + 1
        While Range("A" & i).Value = Range("A" & j).Value
            j = j + 1
        Wend
        Range("A" & i & ":A" & j - 1).MergeCells = True
    End If
Next i

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
11 mars 2010 à 12:19
j'ai une fenetre d'erreur qui s'affiche me disant : Dépassement de capacité (erreur 6)
0
tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
11 mars 2010 à 12:27
bon, j'ai pas de pc sous la main, jsuis en pause dej.....mais tu peux deja remplacer for i = 1 to 65536 par for i =1 to 65535, erreur d'inatention de ma part (j'ai testé sur une centaine de cellules uniquement)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
11 mars 2010 à 14:26
j'ai fait le remplacement mais l'erreur est toujours là. En même temps je suis sous 2007 donc j'ai plus de 65000 ligne, enfin je crois...

:)

c'est trop compliquer les macro... j'arrie meme pas à déchiffrer les commandes que tu as fait là... je suis trop nulle...
0
Qhes Messages postés 176 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 21 mai 2014 29
11 mars 2010 à 15:49
Merci!!!! ca marche trop bien :)
0