Numero de cellule variable dans code VBA Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
K
KAZKAD
Jeune membre
Jeune membre
Messages : 27
Inscrit le : 7 mars 2016
Version d'Excel : 2010

Message par KAZKAD » 11 juillet 2016, 14:49

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
p
pierre.jy
Membre fidèle
Membre fidèle
Messages : 499
Appréciation reçue : 1
Inscrit le : 26 février 2016
Version d'Excel : 2010

Message par pierre.jy » 11 juillet 2016, 14:58

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

K
KAZKAD
Jeune membre
Jeune membre
Messages : 27
Inscrit le : 7 mars 2016
Version d'Excel : 2010

Message par KAZKAD » 11 juillet 2016, 15:35

Merci beaucoup c'est parfait
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message