Faire appel a des macros
Bonjour
comment je pourrais faire appel a des macros
voila j'ai deux classeur. un classeur1 ou j'ai fait des macro et un autre ou j'aimerais stocker les résultat que j'ai eu des macro.
dans la feuille 2 de mon classeur1 j'ai toute les sortie de mes macro et je voudrais faire une macro qui me fait un copier coller de cette feuille et qui me la colle dans le classeur2
voila ceux que j'ai fait mais il y a une erreur au niveau de la ligne 15
If Worksheets("Feuil1").Cells(i, 1).Value = Worksheets("test").Cells(j, 2).Value Thenvoici mon code entier
Sub TDB5()
Dim Numero_Police As Range 'base sinistre
Dim Numero_Contrat As Range 'tableau de bord
Dim dernligne, dernligne2 As Long
With Worksheets("test")
dernligne2 = .Range("A" & .Rows.Count).End(xlUp).Row
Set Numero_Contrat = .Range("B2:B" & dernligne2)
End With
With Worksheets("Feuil1")
dernligne = .Range("A" & .Rows.Count).End(xlUp).Row
Set Numero_Police = .Range("A2:A" & dernligne)
End With
For i = 2 To dernligne 'base sinistre
For j = 2 To dernligne2 'tdb
If Worksheets("Feuil1").Cells(i, 1).Value = Worksheets("test").Cells(j, 2).Value Then
'effectuer les macros
'voir si on peut faire appel a une macro
End If
Next j
Next i
Workbooks("Feuil1").Sheets(2).Range("A:F").Copy
ThisWorkbook.Sheets("test").Range("AI:AN").Paste
End SubBonjour Aude, bonjour le forum,
Quand on travaille sur plusieurs classeurs, mieux vaut utiliser une variable pour les définir :
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Set CS = ThisWorkbook 'définit le classeur source
Set CD = Workbooks("ici_le_nom_de_ton_classeur_destination.xlsx") 'définit le classeur destination (il faut qu'il soit ouvert !)Ensuite tu définis les onglets :
Dim OS1 As Worksheet 'déclare la variable OS1 (Onglet Source 1)
Dim OS2 as Worksheet 'déclare la variable OS2 (Onglet Source 2)
Dim OD as Worksheet 'déclare la variable OD (Onglet Destination)
Set OS1 = CS.Worksheets("test") 'définit l'onglet source 1 OS1
Set OS2 = CS.Worksheets("Feuil1") 'définit l'onglet source 2 OS2
Set OD = CD.sheets("Feuil1") 'définit l'onglet destination ODAprès tu fais ce que tu veux, c'est très simple et sans plantage.
OS1.Range("A1:G100").copy OD.Range("A1")dans l'exemple au-dessus j'ai copié la plage A1:G100 de l'onglet OS1 et je l'ai copié dans la cellule A1 de l'onglet OD...
MERCIII beaucoup Thauthème pour ton aide
ça ne veut pas marcher il me met une erreur
Set CD = Workbooks("test") 'définit le classeur destination (il faut qu'il soit ouvert !)alors que le classeur est bien ouvert
le classeur 3 et le fichier source et le classeur 4 le fichier destination
c'est bon sa marche merciii beaucoupp