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 :
et un exemple de tableau avec lequel je travail en PJ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 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
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
![]()
Partager