Transferer des valeurs à partir d'une ligne avec des cellules fusionnées

Bonjour !

Voilà je travail en ce moment quelque application excel assez complexe (enfin surtout pour moi), donc vous allez beaucoup me voir à partir d'aujoud'hui

Premier soucis pour moi c'est de transférer des données à partir de lignes avec cellules fusionnées (copier coller, ou mettre les valeurs dans des variables etc...). Je comprend très bien que les cellules fusionnées crée beaucoup de problème en VBA mais je suis obligé de travailler avec.

Voici mon code :

Dim i, j, k, r, rc, jrc As Integer

Dim adresse As String

j = 1

i = 1

'derniere ligne non vide avec SOMMEPROD(MAX((B1:B2500<>"")*LIGNE(B1:B2500)))

k = Sheets("Feuil1").Range("A1").Value

For i = 1 To k

If Sheets("Feuil1").Range("B" & i).Value = "anu" Then

Sheets("Feuil1").Range("B" & i).Activate

If ActiveCell.MergeCells = True Then

adresse = ActiveCell.MergeArea.Address

'premiere ligne de la celluce fusionnée

r = Range(adresse).Row

'derniere ligne de la cellule fusionnée

rc = Range(adresse).Row + Range(adresse).Rows.count - 1

'ligne destination

jrc = (j + rc) - r

Sheets("Feuil2").Range("B" & j, "O" & jrc).Value = Sheets("Feuil1").Range("B" & r, "O" & rc).Value

j = j + Range(adresse).Rows.count - 1

Else

Sheets("Feuil2").Range("B" & j, "O" & j).Value = Sheets("Feuil1").Range("B" & i, "O" & i).Value

j = j + 1

End If

End If

Next i

et un exemple de tableau avec lequel je travail en PJ.

Ce que je veux faire :

Vous avez remarquez que chaque ligne, à la colone B, il y a un abrégé ( env, ter, anu) ? et bien je veux tout simplement les copier de la feuil1 vers la feuil2 et les mettre en ordre : les "anu" en rouge en 1er ensuite les "env" en bleu et puis les "ter" en gris.

ça marche très bien pour les cellules non fusionnée, mais pour les fusionnées pas vraiment : il ne sont pas toute copié vers la 2eme feuille...

Voila voila

Merci d'avance

bopop

UP

Bonjour

Si le sujet est toujours d'actualité, une proposition à tester.

Te convient-elle ?

Bye !

Bonjour

Merci pour ta réponse, j'y croyait plus...

ça marche très bien Mais pour choisir l'ordre des lignes qui seront placé en 1er ensuite les 2eme etc ?

Sinon, pourquoi utiliser un module et pas un bouton macro ?

Et si tu trouve un peu de temps, peut tu m'expliquer ton code en détails ?

Merci beaucoup

Bonjour

Mais pour choisir l'ordre des lignes qui seront placé en 1er ensuite les 2eme etc

N'as-tu pas demandé de classer dans l'ordre d'abord les "anu" puis les "eni" et enfin les "ter" ?

pourquoi utiliser un module et pas un bouton macro ?

Je ne comprends pas ta question : le bouton actionne la procédure d'un module...

Bye !

Rechercher des sujets similaires à "transferer valeurs partir ligne fusionnees"