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

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Achaiw
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 19 septembre 2019
Version d'Excel : 2013

Message par Achaiw » 19 septembre 2019, 15:18

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 :mrgreen: :mrgreen:

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.png
Avatar du membre
Achaiw
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 19 septembre 2019
Version d'Excel : 2013

Message par Achaiw » 20 septembre 2019, 15:12

UP
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'217
Appréciations reçues : 281
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 23 septembre 2019, 13:36

Bonjour

Si le sujet est toujours d'actualité, une proposition à tester.
Te convient-elle ?

Bye !
MTG Collection v3.xlsm
(28.66 Kio) Téléchargé 3 fois
Avatar du membre
Achaiw
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 19 septembre 2019
Version d'Excel : 2013

Message par Achaiw » 24 septembre 2019, 11:32

Bonjour :)

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

ça marche très bien :D 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 :mrgreen:
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'217
Appréciations reçues : 281
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 24 septembre 2019, 19:36

Bonjour
Achaiw a écrit :
24 septembre 2019, 11:32
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 !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message