Bonsoir,
Sur la base d'un precedent développement de base de données mais cette fois ci pour une collection de boutons je cherche a dupliquer une partie des champs d'un formulaire existant dans un nouveau formulaire.(F_Bouton)

Je me suis inspiré du post suivant:
https://www.developpez.net/forums/d1.../#post10576987

Malheureusement, ca ne fonctionne pas, je tombe directement sur le message "Erreur de duplication" (ligne 79)

(ID_Bouton, la clef de la table T_Bouton est un numéro automatique.)

Voici le code

Code : 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
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
71
72
73
74
75
76
77
78
79
80
81
82
Private Sub btnDupliquer_Click()
 
 
'Message prealable pour confirmation de la copie
On Error GoTo Err_btnDupliquer_Click
    If MsgBox("Etes-vous sûr(e) de vouloir Dupliquer partiellement l'enregistrement ? Ne pas oublier de faire les rajouts d'informations et ajouter une image!", vbYesNo + vbQuestion, "Création du Doublon") = vbYes Then
 
 
'Déclaration des variables
    'Dim listeNomChamp() As Variant: listeNomChamp = Array(Me.cboCatégorie.ControlSource, Me.Désignation.ControlSource, Me.Description.ControlSource, Me.Datation.ControlSource, _
'Me.cboPSSCatégorie.ControlSource, Me.cboSSSCatégorie.ControlSource, Me.cboForme.ControlSource, Me.cboCouleur.ControlSource, Me.cboMotif.ControlSource, Me.cboMatière.ControlSource, _
'Me.cboTit_Perif.ControlSource, Me.cboTit_Centrale.ControlSource, Me.A_Ref.ControlSource, Me.Reference.ControlSource, Me.DatationFallou.ControlSource, _
'Me.A_Attestations.ControlSource, Me.Commentaires.ControlSource, Me.Bibliographie.ControlSource, Me.Attestations.ControlSource, Me.Dimensions.ControlSource, Me.ArgDat.ControlSource)
Dim listeNomChamp() As Variant: listeNomChamp = Array(Me.cboCatégorie.ControlSource, Me.Désignation.ControlSource, Me.Description.ControlSource, Me.Datation.ControlSource, _
Me.cboPSSCatégorie.ControlSource, Me.cboSSSCatégorie.ControlSource, Me.cboForme.ControlSource, Me.cboCouleur.ControlSource, Me.cboMotif.ControlSource, Me.cboMatière.ControlSource, _
Me.cboTit_Perif.ControlSource, Me.cboTit_Centrale.ControlSource, Me.A_Ref.ControlSource, Me.Reference.ControlSource, Me.DatationFallou.ControlSource, _
Me.A_Attestations.ControlSource, Me.Commentaires.ControlSource, Me.Bibliographie.ControlSource, Me.Attestations.ControlSource, Me.Dimensions.ControlSource, Me.ArgDat.ControlSource)
 
 'Champs a copier.
 
    Dim rSource As dao.Recordset: Set rSource = Me.RecordsetClone
 
    Call rSource.FindFirst("[ID_Bouton] =" & Me.ID_Bouton) 'Declenchement de la copie sur l'enregistrement "source".
 
'Déclaration de variables
    Dim rCible As dao.Recordset: Set rCible = Me.Recordset
    Dim f As dao.Field
 
 'Ouverture du nouveau formulaire
    rCible.AddNew
 
 
'Declaration de la variable nomChamp qui correspond a un des champs liste precedemment
    Dim nomChamp As Variant: For Each nomChamp In listeNomChamp 'Boucle pour recuperer et coller les valeurs de champ
 
   Set f = rSource.Fields(nomChamp)
   rCible(f.Name) = f
   Set f = Nothing 'RAZ de la valeur pour prochain champ
 
    Next nomChamp 'c'est ecrit :-)
 
'Collage des valeurs
 
    rCible.Update
 
'Vidange des donnees
 
    Set rSource = Nothing
    Set rCible = Nothing
 
     End If
 
 
'On affiche les boutons d'ajout d'images et Alphabet Grec et enleve les boutons Dupliquer et Modifier
               Me.btnAjoutImage.Visible = True
               Me.btnAjoutImage2.Visible = True
               Me.btnAlphabetGrec.Visible = True
 
               'Me.btnDupliquer.Visible = False
               Me.btnModifier.Visible = False
 
 
 
'On vide les infos des images pour les faire disparaitre au raffraichissement
            Me.imgImage.Picture = ""
            Me.imgImage2.Picture = ""
 
            Me.Refresh 'Actualise les données et force l'enregistrement
            Me.AllowEdits = True 'Autorise les modifications
 
 
MsgBox "Le formulaire est dupliqué et prêt à être complété. N'oubliez pas de faire les rajouts d'informations et ajouter une image!"
 
 
Exit_btnDupliquer_Click:
    Exit Sub
 
Err_btnDupliquer_Click:
    MsgBox "Erreur de duplication"
    Resume Exit_btnDupliquer_Click
 
End Sub
J'ai controlé mes noms de champs, posé des balises, il semble que c'est a l'ouverture du nouveau formulaire que ca se passe mal mais je n'arrive pas a comprendre pourquoi...?

Bref, je tourne en rond et un regard neuf devrait peut être parvenir a solutionner ce problème ou quelqu'un pourrait m'aider a trouver d'ou vient le problème?

Merci d'avance pour votre aide
Cordialement
Jean Marc