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

6 réponses

tompols
Messages postés
1219
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
458
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
1219
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
458
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
1219
Date d'inscription
jeudi 29 juillet 2004
Statut
Contributeur
Dernière intervention
25 novembre 2013
458
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