[Excel | VBA] Récupérer informations de multipage

Signaler
Messages postés
80
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
80
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
30 juillet 2008
-
Bonjour ,

J'ai un petit soucis, j'ai crée un userform dans lequel j'ai placé une multipage de plusieurs onglets.
Dans le 1ere onglets, j'essai de récupérer les informations pour pouvoir les ajouter à ma BDD sous excel
Cependant, je me trouve confronté à un probleme que je n'arrive pas à solutionnner.

Mon code ressemble pour l'instant à ca :

Public Sub transfert_Val()


      Worksheets("recep").Range("result_dac").Offset(0, 19).Value = MultiPage.Pages(0).cbxValido3.Value
                                         
            MsgBox "Validation éffectuée!"
 
   'Unload Validation


End Sub

Le multipage ( multipage1 ) se trouve dans l'userform ( Validation ).
J'essai de récupérer la valeur d'une checkbox ( cbxValidO3 ) et la placer dans la feuille (recep) à la 19eme colonne à partir de ma valeur qui me sert de clée primaire.
En gros, c'est plutot une mise à jour que je cherche à faire.

Quelqu'un peut il m'aider s'il vous plait ?

Cordialement,

AiDuK

8 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

ton explication est claire mais il manque l'explication a propos du probleme lui meme

A+
Messages postés
80
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
30 juillet 2008

Dans le ba de ma multipage, j'ai un bouton "valider" qui fait appel à "Transfert_Val", cependant quand je clique dessus , il ne fait pas l'enregistrement dans ma bdd excel, et me met erreur de compilation, j'ai essayé de retourner le code dans tous les sens , cela ne donne rien.

Je pense que l'erreur vient de cette partie la :

Worksheets("recep").Range("result_dac").Offset(0, 19).Value = MultiPage.Pages(0).cbxValido3.Value

"result_dac" me permet de me placer sur la même ligne que celle de ma clée primaire, donc l'erreur doit venir à partir du signe "="
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
result_dac est une plage de cellules nomée ou une variable. Si c'est une variable elle doit etre declarée a string et les double quote sont en trop .

pour attribuer une valeur a une cellule le signe = est parfait ! pas de probleme de ce coté la.

A+
Messages postés
80
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
30 juillet 2008

result_dac est une plage de cellule nommée.

Pour le problème, il intervient, d'après moi juste après le signe =
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
il manquerait pas quelque chose ?
Worksheets("recep").Range("result_dac").Offset(0, 19).Value = MonUserform.MultiPage1.Pages(0).cbxValido3.Value

par contre pour la methode avant le = pas de probleme

A+
Messages postés
80
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
30 juillet 2008

Non , j'avais déja essayé comme ca avec :

Validation.MultiPage1.Pages(0).cbxValido3.Value

Car Validation est mon UserForm, mais ca ne marche pas non plus
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
je viens de tester la methode ci-dessous et de mon coté il n'y a aucun probleme !

Worksheets("recep").Range("result_dac").Offset(0, 19).Value = Validation.MultiPage1.Pages(0).cbxValido3.Value

donne nous plus d'info comme le message d'erreur au moins
Messages postés
80
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
30 juillet 2008

Alors quand je fais comme ca, il me surligne dans mon code :

Worksheets("recep").Range("result_dac").Offset(0, 19).Value = Validation.MultiPage1.Pages(0).cbxValido3.Value

Et me met en message d'erreur :

Erreur de compilation :
Fonction ou variable attendue