{Résolu}Bug sur une macro qui copie colle seulement dans les cellules visibles

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jmten92

XLDnaute Nouveau
Hello, lors de l'exécution du code, j'ai une erreur (la méthode range de l'objet global) a échoué.... Quelqu'un saurait d'ou ça peut venir ?
C'est une macro qui détermine une plage , qui la nomme - qui copie la formule d'une cellule (j10) et qui la colle dans toutes les cellules visibles de la plage (les cellules de ligne non masquées)
J'ai une erreur lors des deux lignes soulignée en rouge ....

Un immense merci si vous trouvez car franchement je ne sais pas d'ou ca peut venir.


Set FL1 = Worksheets("Sheet1")

NoCol1 = 10
NoCol2 = 10

DerLig = Split(FL1.UsedRange.Address, "$")(4)

'où FL1.Range(FL1.Cells(1, NoCol1), FL1.Cells(Derlig, NoCol2)) détermine
'la plage de cellules à lire

'With FL1
Set Plage = Range(FL1.Cells(1, NoCol1), FL1.Cells(DerLig, NoCol2))


FL1.Activate
Range("J10").Copy
Range("Plage").Select
Range("Plage")
.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationMultiply


' End With





End Sub
 
Bonsoir,

ça ne serait pas plutôt comme ceci !?
car comme tu pratiques c'est une plage de données en tableau !
et ici il te faut simplement une adresse. exemple: "A1:C5"

Code:
Sub MacroXXX()
Dim FL1 As Worksheet, R$
Set FL1 = Worksheets("Sheet1")

NoCol1 = 10
NoCol2 = 10

DerLig = Split(FL1.UsedRange.Address, "$")(4)

'où FL1.Range(FL1.Cells(1, NoCol1), FL1.Cells(Derlig, NoCol2)) détermine
'la plage de cellules à lire

R$ = FL1.Range(Cells(1, NoCol1), Cells(DerLig, NoCol2)).Address

FL1.Activate
Range("J10").Copy
Range(R$).Select
Range(R$).PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationMultiply
End Sub
 
Hello Roland , Mon problème était que j'avais des filtres et que je ne voulais pas que mes formules soient appliquées aussi aux cellules masquées .j'ai contourné le pb de la façon suivante :
' sélection de la première cellule visible de la colonne 10
Range("A2:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Cells(1, 10).Select
'copie de la formule de la cellule active dans toutes les cellules visibles cad non masquées de la colonne
Range(ActiveCell, ActiveCell.End(xlDown)).SpecialCells(xlCellTypeVisible).FormulaR1C1 = "=IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*MAZ*""),""MAZ"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*MGN*""),""MGN"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*AJU*""),""AJU"",IF(COUNTIF(Tableau4[[#This Row],[ENTRY_LABEL]],""*Reclas*""),""Reclass"",""""))))"

et tout fonctionne !!!
bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
827
Réponses
1
Affichages
1 K
Retour