Numero de cellule variable dans code VBA
Bonjour ,
j'ai un code VBA qui permet de remplir plusieurs cellules en fonction de la premier colonne, cependant lors de l’enregistrent de la macro ( en manipulant par en progra) les cellule a remplir sont fixe : Range("BI36").Select , j'ai essayer comme ceci
Range("BI" & "CF3").Select ou CF3 renvoi au bon numéro de ligne mais j'ai une erreur 1004 la méthode Range de l'objet _ Globale a échoué..
le code en question :
Sub Sauvegarde_inventaire_in_donnéestech()
'
' Sauvegarde_inventaire_in_donnéestech Macro
' Permte de sauvegarder l'inventaire dans l'onglet données technique
'
'
Range("J28").Select
ActiveWindow.SmallScroll Down:=-12
Range("F22").Select
Sheets("Inventaire Kanban").Select
Sheets("Inventaire Kanban").Name = "Inventaire Kanban"
Range("H19").Select
Sheets("DonnéesTechniques").Select
ActiveWindow.ScrollColumn = 27
ActiveWindow.ScrollColumn = 28
Range("CE3").Select
Selection.Copy
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 2
ActiveSheet.Range("$A$10:$DV$140").AutoFilter Field:=2, Criteria1:=Sheets("DonnéesTechniques").Range("CE3").Value
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 28
Range("CC3").Select
Application.CutCopyMode = False
Selection.Copy
Range("BJ" & "CF3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("CD3").Select
Application.CutCopyMode = False
Selection.Copy
Range("BI" & "CF3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("BI" & "CF3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Inventaire Kanban").Select
Range("D14:I14").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("DonnéesTechniques").Select
Range("BK" & "CF3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Inventaire Kanban").Select
Range("L2:S2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("DonnéesTechniques").Select
Range("BR37").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.ClearContents
Range("BR37").Select
Sheets("Inventaire Kanban").Select
Selection.Copy
Sheets("DonnéesTechniques").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("BS147").Select
Sheets("Inventaire Kanban").Select
Range("D6:I12").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("L6:Q13").Select
Selection.ClearContents
Range("C3").Select
End Sub
Merci d'avance
Bonjour
CF3 entre guillemet c'est juste du texte tu peu voir cela avec le code suivant :
msgBox "BI" & "CF3"
si tu veux récupérer la valeur contenu dans la cellule CF3 tu dois utiliser Range.. et il vaut mieux préciser le nom de la feuille., et tu n'as pas besoin de Select ou selection
dim iCF3 as integer 'Numéro de ligne dans cellule CF3
iCF3 = ThisWorkBook.Sheets("Feuil1").Range("CF3")
' (...)
ThisWorkBook.Sheets("Feuil1").Range("BI" & iCF3).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Merci beaucoup c'est parfait