Message erreur : la méthode range de l'objet_global a échoué "
Bonjour à Tous,
Je travaille actuellement sur la création d'une matrice budgétaire, j'en suis à la compilation des données et pour cela je souhaite utiliser une macro.
Mais là je bloque sur un code et j'ai du mal à comprendre pourquoi le code ne fonctionne pas.
Voici ma problématique, j'ai mon onglet CA qui contient des données dans des colonnes pour les périodes de janvier à décembre. Et je veux mettre ces données en ligne dans un autre onglet.
Pour cela, j'ai crée des variables " colonne_cours" et "derniereColone". j'ai donc créé une boucle For afin de récupérer les données de la colonne X qui commence à partir de la la ligne 2 jusqu'à la cellule non vide de la colonne en cours.
j'ai écrit le code : Wk_Origine.Range(Colonne_Cours & "2" & ":" & Range(Colonne_Cours & "2").End(xlDown)).Copy Wk_Destina.Range("F" & Dern_ligneEx3) mais le message suivant s'affiche " la méthode range de l'objet_global a échoué "
Pouvez - vous m'aider en espérant que mes explications soient claires ?
Code:
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
Dim I As Variant
Dim J As Variant
Dim Dern_ligneEx1 As Integer
Dim Dern_ligneEx2 As Integer
Dim Dern_ligneEx3 As Integer
Dim Wk_Origine As Worksheet
Dim Wk_Destina As Worksheet
Dim DerniereColonne As Long
Dim Colonne_Cours As Long
'onglet pour coller les donnes
Set Wk_Destina = Worksheets("exportAccost")
'onglet exporter
Set Wk_Origine = Worksheets("CA (2)")
'suppression des donnees
Call Supprdonn1
'copie des lignes pour les douze mois de la plage de donnee base
For I = 1 To 12
Dern_ligneEx1 = Wk_Destina.Range("A500000").End(xlUp).Row + 1
Wk_Origine.Range("Base").Copy Wk_Destina.Range("A" & Dern_ligneEx1)
Cells(Dern_ligneEx1, 1).Select
Next I
'copie de ligne pour le compte comptable
Wk_Destina.Range("E2").Select
For J = 1 To 12
Dern_ligneEx2 = Wk_Destina.Range("E500000").End(xlUp).Row + 1
Wk_Origine.Range("Nature").Copy Wk_Destina.Range("E" & Dern_ligneEx2)
Cells(Dern_ligneEx2, 5).Select
Next J
Wk_Destina.Range("F2").Select
' trouver la derniere colonne du tableau
DerniereColonne = Wk_Origine.Cells(1, Columns.Count).End(xlToLeft).Column
'copie de la période correspondante des lignes
Dern_ligneEx3 = Wk_Destina.Range("F500000").End(xlUp).Row + 1
For Colonne_Cours = 33 To DerniereColonne
'code qui bloque
Wk_Origine.Range(Colonne_Cours & "2" & ":" & Range(Colonne_Cours & "2").End(xlDown)).Copy Wk_Destina.Range("F" & Dern_ligneEx3)
Next |