XL 2010 fusionner des cellules si celle d'au dessus est identique

hicks007

XLDnaute Nouveau
bonjour à tous,

je suis en train de faire une base de données. cette base renvoi les informations dans un tableau Excel sur le même fichier dans un autre onglet (externat)
je cherche à faire en sorte qu'automatiquement lorsque plusieurs données sont identiques sur les lignes qui se suivent, qu'elles fusionnent.

j'ai essayé avec "supprimer les doublons" mais je me suis heurté à un problème. en fait les valeurs cellules sont différentes car elles renvoient à la base de données.
par exemple e a2 et a3, affichent "durand robert" mais la formules ne sont pas la même a2 =basededonnée!a2 et a3 =basedeonnées!a3.

j'ai ensuite essayer l'enregistreur de macro, mais je ne suis pas arrivé à mon objectif.

je vous joint mon fichier avec l'exemple que j'aimerais.

la fusion des lignes ne devrait se faire que pour certaines colonnes aussi : A,F,G,I,K,M

après si je dois en rajouter je devrais réussir à les identifier dans le code pour le modifier moi même, enfin j'espère.

voila en espérant que mon message soit clair, je vous remercie pour l'aide que vous pourrez m'apporter ou des indications à suivre pour que je me débrouille.

bonne journée et merci d'avance.
 

Pièces jointes

  • base de données essai.xlsm
    27.7 KB · Affichages: 34

sousou

XLDnaute Barbatruc
Bonsoir.
essaie avec ce code. tu mets le numéro des colonnes dans le tableau ' colonnes''
Attention dans ton exemple les dates de dupont ne sont pas identiques. A voir si elle doivent l'être ou si ne faux pas tenir compte de ces dates

Sub debut()
colonnes = Array(1, 6, 7)
For n = 0 To UBound(colonnes)
Call fusion(colonnes(n))
Next
End Sub

Sub fusion(col)
Set fusions = New Collection
Set deb = Sheets("externat").Cells(2, col)
n = 1
While deb.Offset(n, 0) <> ""
If deb.Offset(n, 0).Value = deb.Offset(n - 1, 0).Value Then
Set fus = Union(deb.Offset(n - 1, 0), deb.Offset(n, 0))
fusions.Add fus
End If
n = n + 1
Wend


For Each i In fusions
i.Merge
Next
End Sub
 

hicks007

XLDnaute Nouveau
bonjour,

Merci pour ce code qui marche très bien. j'ai un petit soucis mais je vais essayer dans un premier temps de le régler seul car ils fusionnent trop :D. (les cellules vierge dans "noms et prénom" fusionnent toutes, je vais voir pour modifier ma formule)

par contre y a t il une solution pour éviter le message m'alertant que les cellules vont fusionner à chaque ligne m'obligeant à valider ?

en tout cas merci encore, c'est vraiment ce que je souhaitais.

bonne journée
 

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll