Macro excel

darsidious64 Messages postés 25 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
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 |
A voir également:

2 réponses

Elgalo Messages postés 23 Statut Membre
 
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 9042 Statut Contributeur 1 191
 
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