Macro excel

Fermé
darsidious64 Messages postés 25 Date d'inscription mercredi 14 février 2007 Statut Membre Dernière intervention 23 juillet 2008 - 23 juil. 2008 à 11:49
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 23 juil. 2008 à 13:01
Bonjour,

j'aimerais faire une petite manip sur un tableau excel. (je me suis appuyé sur une petite illustration ci-dessous) Ce que je souhaiterais faire c'est sur la premiere colonne, fusionner toutes les cellules adjacentes identiques, de sorte à ce que le tableau soit plus lisible. Je n'y connais presque rien en macro alors à l'aide SVP!!!! Merci bcp.
Voici grosso modo ce que je souhaitrerai :

**** avant la macro ********

colonne1 | colonne2 | colonne3 | colonne4 |
1 | a | j | s |
1 | b | k | s |
1 | c | l | t |
2 | d | m | f |
2 | e | n | v |
2 | f | o | w |
3 | g | p | x |
3 | h | q | y |
4 | i | r | z |

**** apres la macro ********

colonne1 | colonne2 | colonne3 | colonne4 |
| a | j | s |
1 | b | k | s |
| c | l | t |
| d | m | f |
2 | e | n | v |
| f | o | w |
3 | g | p | x |
| h | q | y |
4 | i | r | z |

2 réponses

Elgalo Messages postés 23 Date d'inscription mercredi 16 juillet 2008 Statut Membre Dernière intervention 1 août 2008
23 juil. 2008 à 12:48
Salut,

Ce que je te conseille de faire pour une macro, c'est de sélectionner les cellules à fusionner puis de simplement cliquer sur "Outils/Macro/Nouvelle macro".
Ensuite tu lui donne un nom, une touche de raccourci (souvent bien pratique), tu cliques sur "Ok" puis normalement une petite fenêtre s'ouvre sur laquelle tu clique sur le bouton "Référence relative" (si la fenêtre ne s'ouvre pas, va la chercher sur "Affichage/Barres d'outils/Arrêter l'enregistrement".
Enfin, tu cliques bouton de droite sur les cellules sélectionnées puis choisis "Format de Cellule" et dans l'onglet "Alignement", tu coches "Fusionner les cellules". Tu cliques sur "Ok" puis sur le bouton "Arrêter l'enregistrement" de la fenêtre concernant qui s'est ouverte toute seule tout à l'heure.

Tu viens de créer une macro qui fusionne automatiquement les cellules que tu sélectionnes (utilise le raccourci que tu as choisi pour l'exécuter sinon va dans "Outils/Macro/Macros...").

Si tu veux qu'en plus ta macro dès qu'elle trouve deux cellules adjacentes les fusionne, il faut aller dans de la programmation plus avancée.

Bon courage.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
23 juil. 2008 à 13:01
Bonjour,
Essaye cette macro
Alt+F11 >> Insertion >> Module
dans la nouvelle fenêtre tu colle le code ci-dessous.
Tu met le curseur dans la macro et tu tape F5
Sub MrgCellule()
Dim i As Long, Cel As Variant, Deb As Long
    Application.DisplayAlerts = False 'Une seule fois suffit
    Sheets("feuil1").Select
    Cel = Cells(1, 1): Deb = 1
    For i = 1 To Range("A65536").End(xlUp).Row + 1
        If Cells(i, 1) <> Cel And i > Deb Then
            Range(Cells(Deb, 1), Cells(i - 1, 1)).Select
            With Selection
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .Merge
            End With
            Deb = i
            Cel = Cells(i, 1)
        End If
    Next i
End Sub

Tu dit..
A+
0