Fusion de cellules et trais

Bonjour,

J’aurais besoin de votre aide …

J’aimerai pouvoir fusionner (à partir de l’image 1), des données identiques de la colonne A pour arriver à l’image 2.

La colonne A et B doivent avoir la même mise en forme.

Aussi j’aimerai pouvoir tracer un trais gras à chaque changement de code sur la 1ère colonne.

Comment, avec l’aide des macros VBA est ce que je peux le faire automatiquement ?

Est-il possible d’avoir un bouton « grouper » et « dégrouper » pour faire et défaire la macro ?

Je reste à disposition pour plus d’info ci-besoin.

Cordialement

Sibus

1 2

Bonjour,

Je ne vais pas te proposer une solution comme tu le souhaites car en ce qui me concerne, je déteste les cellules fusionnées ! mais je peux te proposer une autre solution en MFC :

je teste si la cellule A2 est égale à A1, si oui, je prends une police de couleur blanche voire légèrement grisée. Et tu peux aussi appliquer un encadrement.

Ainsi tu gardes la possibilité de trier des listes, faire des calculs simples et des macros pas trop sophistiquées.

Bonjour

C'est possible de faire cela mais une fois fait c'est plus compliqué de revenir en arrière

Donc solution est de simplement faire un code VBA, en créant l'image 2 sur une feuille différente. Comme cela tu gardes la base de données feuille 1 intacte et moyennant un bouton tu refais quand tu le veux la feuille 2 comme sur l'image 2

Tu peux mettre un fichier en ligne ce sera plus simple que je te fasse le code

Crdlt

Oups Steelson

déso mais on a posté en même temps, je pense

On se rejoint dans l'idée : conserver une base de données exploitable car si excel permet de belles mises en forme, c'est parfois au détriment de calculs et de tris.

Si tu mets un fichier, je te ferai la MFC ... mais tu peux t'y atteler toi même !

Bonjour,

Merci de vos réponses.

Mon excel n'a pas vocation à être trié par la suite, est il possible quand même de fusionner les cellules avec recopie de la mise en forme sur la colonne d'à côté (C) et de mettre les bordures gras ??? )

Je vous joins un excel test.

J'aurais besoin de passer de l'excel 1 à 2.

Le seul tri qu'il sera peut être fais sera par la colonne "Observation" mais ce tri garde les données de la colonne B et C.

Merci d'avance pour vos réponses

Sibus

5test-1.zip (12.43 Ko)
5test-2.zip (11.43 Ko)

Un essai en MFC

Merci Steelson mais pour mon utilisation il me le faudrait bien comme l'excel TEST-2 ...

:$

Re

Fusionner des cellules n'est jamais une bonne idée avec excel surtout si l'on fait appel à VBA

Soit tu utilises la proposition de steelson ou tu passes par VBA

Pour VBA, réponds à la question que je t'ai posée dans mon post précédent

Crdlt

Bonjour.

sibus a écrit :

Comment, avec l’aide des macros VBA est ce que je peux le faire automatiquement ?

Est-il possible d’avoir un bouton « grouper » et « dégrouper » pour faire et défaire la macro ?

En activant le Générateur de macro puis en procédant manuellement : une base de code est livrée sur un plateau !

Dan a écrit :

Bonjour

C'est possible de faire cela mais une fois fait c'est plus compliqué de revenir en arrière

Donc solution est de simplement faire un code VBA, en créant l'image 2 sur une feuille différente. Comme cela tu gardes la base de données feuille 1 intacte et moyennant un bouton tu refais quand tu le veux la feuille 2 comme sur l'image 2

Tu peux mettre un fichier en ligne ce sera plus simple que je te fasse le code

Crdlt

Ok. Problème, les différents onglets qui serons dans l'Excel n'auront pas tous le même nombre de ligne. Sa pose un problème?

Bonjour,

Essaie avec ce code

Sub grouper()
Dim i As Integer, j As Integer

Application.DisplayAlerts = False
With ActiveSheet
    .Copy after:=ActiveSheet
End With

With ActiveSheet
    dlg = .Range("B" & .Rows.Count).End(xlUp).Row
    For i = 10 To dlg
        num = .Range("B" & i)
        j = i
        Do While num = .Range("B" & i + 1)
            i = i + 1
        Loop
        .Range("B" & j & ":B" & i).MergeCells = True
    Next
End With
End Sub

Place toi sur la feuille pour laquelle tu veux faire une fusion en colonne B, puis exécuter la macro Grouper ci-avant

Condition :

  • tes tableaux commencent toujours par la ligne 10
  • les lignes de ton tableau se suivent bien comme dans le fichier que tu as joint
  • pas de données présente en colonne B après la dernière ligne de ton tableau

Crdlt

Rechercher des sujets similaires à "fusion trais"