Bonsoir à tous
pour m'amuser, je tente de copier un userform d'un classeur à l'autre.

J'ai trouvé un code sur les cours VBA, mais il plante dès les premières lignes.

[surligner]erreur 50034
La methode export-vbcomponent de l'objet à échoué.
Si je clique sur USFtest dans le code il me met variable non définie[/surligner]

j'ai tenté en ajoutant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim USFtest As UserForm
dans ce cas il me mets USFtest=Nothing

Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sub CommandButton1_Click()
Dim Fichier As String, Repertoire As String
    Dim Wb As Workbook
    Dim i As Byte
 
    Application.ScreenUpdating = False
 
 
    [surligner]ThisWorkbook.VBProject.VBComponents("USFtest").Export "C:\copieUSF.frm"[/surligner]
 
 
    '-----------------------------------
 
 
    'Adaptez le répertoire des classeurs à modifier
   Repertoire = "I:\Travail Papa\CE1 2015 - 2016\Pour karine\projet final\modif"
    Fichier = Dir(Repertoire & "\Recep.xlsm")
 
    'Boucle sur les classeurs du répertoire cible
   'Do While Fichier <> ""
        Set Wb = Workbooks.Open(Repertoire & "\" & Fichier)
 
        '----------------------------------
        'La procédure ne gère pas les erreurs si le nom des modules existe déja
        'dans les classeurs.
   With Wb.VBProject 'Transfert l'USF et les modules dans les classeurs
            .VBComponents.Import "C:\copieUSF.frm"
 
       '     For i = 1 To 3
       '         .VBComponents.Import "C:\copieModule" & i & ".bas"
       '     Next i
        End With
End Sub



++

Troph