XL 2016 EXCEL VBA : PASSER D'UN FRM A UN AUTRE AVEC UNE SELECTION ?

Golfolies

XLDnaute Nouveau
Bonjour à tous,
Objet : Modification fiche client.
La situation :
- j'ai un premier formulaire "Sélection du client à modifier" dans lequel je sélectionne un client (photo ci-jointe).
- j'ai un deuxième formulaire "Fiche client à modifier" dans lequel doivent se placer les renseignements de base du client sélectionné dans le 1er formulaire (photo ci-jointe)

Ma problématique :
Comment passer du premier Frm lorsque je clic sur "Valider" au second Frm avec les informations ?
(J'ai déjà le code pour le deuxième)

J'espère avoir été aussi clair que possible, mais avec les photos ci-dessous vous comprendrez mieux.

Merci pour vos aides.
Golfolies

1616427370757.png
1616427370757.png
1616427469162.png
1616427469162.png
 

Golfolies

XLDnaute Nouveau
Bonsoir Patrice,
Merci pour votre rapidité et efficacité.
Je garde votre solution pour une autre idée de développement dans le même projet.

Toutefois, j'ai dû mal exprimer ma demande.
Je reformule différemment.
Avec le premier formulaire je sélectionne un client dans ma base de donnée pour lequel je dois effectuer une modification de numéro ou de nom d'interlocuteur par exemple.
Le choix du client s'affiche dans la zone Txt du bas à la hauteur des boutons.
Comment conserver la valeur de cette Txt et la transférer dans le second formulaire et qui lui devra se remplir automatiquement avec les informations de la fiche client afin que je puisse modifier les paramètres nécessaires.
Cette phase là ainsi que la rapatriement des informations dans la base ne pose pas de problème. Ca fonctionne.
Mais comment faire la passerelle de l'information sélectionnée ?

J'espère ne pas avoir avoir rendu la compréhension de ma demande encore plus floue.
L'aide des deux images dans mon premier mail pour cette discussion devrait aider.

Merci d'avoir pris de votre temps pour me lire une fois encore et merci pour une aide complémentaire.

Bonne soirée,
Golfolies
 

Patrice33740

XLDnaute Impliqué
La bonne méthode pour transférer une donnée c'est de définir une propriété du second formulaire qui reçoit l'information à transférer et d'affecter cette propriété avant l'affichage du second formulaire.

Exemple :
 

Pièces jointes

  • Basculer vers un autre formulaire 2.xlsm
    22.8 KB · Affichages: 11
Dernière édition:

Golfolies

XLDnaute Nouveau
Merci Patrice, c'est TOP.

Vous avez compris ma demande 😂

J'ai vu le code, je vais essayer plus tard en journée. Je pars sur la route toute la matinée.
Je n'avais pas pensé en plus au bouton de confirmation du choix à l'ouverture du 2ème Formulaire. Cela laisse encore une possibilité de changement de la sélection. Très bien.

Excellente journée à vous.
Golfolies
 

Golfolies

XLDnaute Nouveau
Bonsoir Patrice,
J'ai essayé un bout de temps, mais j'ai des infos erreurs et beug qui s'affichent.
Je re-essayerais plus tard.
Entre-temps j'ai trouvé un autre solution, pas trop conventionnelle mais qui fonctionne. Du mois, à moitié, c'est a raison du fil.

La solution qui fonctionne à moitié pour l'instant est :
- En validant le choix client (ex : Cora Mulhouse) dans la dernière ligne, je donne une instruction qu'il doit aller mettre cette valeur dans une cellule du tableau.
- Dans la cellule en question, Cora Mulhouse apparait. si je change d'Enseigne, la cellule change. C'est bon.

Par contre, avec ce même bouton Valider, j'essaye d'ouvrir le deuxième formulaire pour y insérer ensuite le magasin.

J'ai suivi vos instructions (normalement), mais apparemment pas.... :) j'obtiens le message suivant :

- Le formulaire s'enlève et j'obtiens le message et avec en arrière plan le deuxième Formulaire.


1616596375488.png





En appuyant sur Débogage, voici la copie d'où se trouve l'erreur :

1616596450015.png



Auriez-vous une idée de dépannage ?

Encore désolé pour mes questions très basiques et de réel néophyte, mais je passe des heures et pour rien (je n'avance pas). Il faut savoir demander de l'aide aux meilleurs...

Merci,
Olivier
 

Patrice33740

XLDnaute Impliqué
Le bug se trouve dans l'autre formulaire.
Pour déboguer, met un point d'arrêt sur cette ligne (clic dans la marge à l'emplacement de la petite flèche jaune), arrêtes et relances la macro et quand elle s'arrête, continue en pas à pas (F8)
 

Golfolies

XLDnaute Nouveau
Ok.
J'ai trouvé la solution.
J'ai affecté la réponse du 1er formulaire dans une cellule "tampon" à côté de mon tableau "mes_clients".
Le code pour ré-affecter ces informations de la cellule "tampon" dans le deuxième formulaire et dans la bonne TextBox "TxtChoix" est :

With Sheets("mes_clients")
Me.TxtChoix.Value = .Range("AA1")
End With

Merci pour tes aides.

Bonne soirée et peut-être bon match de foot ce soir.
Olivier
 

Discussions similaires

Statistiques des forums

Discussions
311 715
Messages
2 081 822
Membres
101 822
dernier inscrit
holale