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 Then

voici 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 Sub

Bonjour 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 OD

Aprè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

4classeur3.xlsm (27.28 Ko)
3classeur4.xlsm (8.59 Ko)

c'est bon sa marche merciii beaucoupp

Rechercher des sujets similaires à "appel macros"