reafficher le formulaire de départ pour pouvoir modifier les données

toto3371

XLDnaute Nouveau
Bonjour,
Je pense que mon problème est proche du votre enfin si j'ai bien tout compris.

Je m'occupe d'une association et je veux simplifier la saisie des données administratives concernant chaque membre sur excel.

Pour cela j'ai créé différentes colonnes sous excel (Nom, Prénom, Date de naissance, téléphone, adresse, ...)

Afin de les remplir facilement, j'ai créé un formulaire avec VBA. Mon formulaire marche parfaitement.

Seulement je voudrais pouvoir faire l'inverse, c'est à dire que si je veux modifier une données concernant un membre il me faudrait que mon formulaire se réaffiche mais avec les données remplie pour ce membre et ainsi je n'ai plus qu'à modifier les données erronées.

Je ne sais pas si je suis clair.

Merci d'avance en tout cas de votre aide.
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Re toto,

Il est où le fichier exemple pour qu'on puissent travailler?
Juste un fichier avec quelques données anonymisées, le userform et ses macros, le tout zippé.

A+
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Re Toto,

voici une proposition.

L'idée générale: faire en sorte que le userForm reconnaisse si l'on se trouve sur une ligne de données, auquel cas il affiche les données (pour le moment seul le nom et prenom ' sans doute feras tu le reste) sinon la prochaine cellule vide de la colonne A est sélectionner.

Pendant que le userform est chargé tu peux cliquer dans une cellule de la feuille pour faire afficher les données d'une autre ligne. A charge pour toi, en comprenant le principe de faire une sub qui nettoie tes contrôles entre chaque affichage.

Voir dans le code du commandButton ce qui a changé pour l'affichage du userform.

Dans le userform un procédure 'Afficher NumLigne' a été créée.
Voir la déclaration de la feuille en tête du module du userform ainsi que l'évènement Sélectionchange dans le module également.
Voir aussi changement dans userform initialize (en bas)

Tout ceci en quelques lignes de codes supplémentaires. Bien-sûr il reste beaucoup de chose à faire, je te laisse avancer et si tu as des problèmes, reviens.

A+

@l'ami SKOOBI:) Ben tu vois pas de flème pour la littérature aujourd'hui()
 

ChTi160

XLDnaute Barbatruc
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Salut toto3371
Bonjour le Fil
Bonjour le Forum
Arfff je n'ai pas fait attention et je t'ai mis un fichier dans le fil ou tu as pour la premiere fois fait ta demande

je le joins ici et vais l'effacer dans l'autre
ci dessous le commantaire que j'avais mis dans l'autre fil
tu affiches via la recherche intuitive ,puis tu sélectionnes le nom ,dans la liste en dessous où une donnée doit être modfifiée ,puis tu modifes les données des textBox contenant les elements ,puis tu valides la modification,ensuite tu réaffiches via la recherche intuitive et tu verras que la modif a été enregistrer Lol
tu peux aussi créer un nouvel enregistrement
Tu entres le nom dans la recherche intuitive(il n'y a rien d'afficher dessous puis qu'il n'existe pas) ,tu auras le bouton Creer la fiche qui va apparaitre,tu remplies les textbox et tu valides

je n'ai pas encore regardé ton fichier exemple Lol

Le Fichier : Regarde la pièce jointe habilitation ING V6.zip

Bonne fin de journée
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Salut Hasco,
Merci beaucoup de t'intéresser à mon problème.

Quand j'ouvre le fichier que tu as modifié, une box VBA apparait avec "des erreurs se sont produites au cours du chargement". Je cliques tout de même sur OK. Là mon formulaire apparaît avec le nom et le prénom du premier membre. Jusque là rien de bien méchant c'est à moi de faire en sorte que les autres données se remplissent aussi.
Mais là où cela se complique c'est quand depuis ma feuille de calcul excel je cliques sur afficher le formulaire de saisie, je me retrouve sur VBA avec comme message d'erreur:
"Erreur de compilation. Nombre d'arguments incorrecte ou affectation de propriété incorrecte" et il me renvoie à la ligne de commande suivante dans le code
"Private Sub lanceFrmcoordonnées_Click()
frmCoordonnées.Show vbModeless
End Sub"


Que dois je faire je suis perdu.

Merci d'avance


Re Toto,

voici une proposition.

L'idée générale: faire en sorte que le userForm reconnaisse si l'on se trouve sur une ligne de données, auquel cas il affiche les données (pour le moment seul le nom et prenom ' sans doute feras tu le reste) sinon la prochaine cellule vide de la colonne A est sélectionner.

Pendant que le userform est chargé tu peux cliquer dans une cellule de la feuille pour faire afficher les données d'une autre ligne. A charge pour toi, en comprenant le principe de faire une sub qui nettoie tes contrôles entre chaque affichage.

Voir dans le code du commandButton ce qui a changé pour l'affichage du userform.

Dans le userform un procédure 'Afficher NumLigne' a été créée.
Voir la déclaration de la feuille en tête du module du userform ainsi que l'évènement Sélectionchange dans le module également.
Voir aussi changement dans userform initialize (en bas)

Tout ceci en quelques lignes de codes supplémentaires. Bien-sûr il reste beaucoup de chose à faire, je te laisse avancer et si tu as des problèmes, reviens.

A+

@l'ami SKOOBI:) Ben tu vois pas de flème pour la littérature aujourd'hui()
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Re toto,

Chez moi cela fonctionne bien,

Alors clique sur le bouton et lorsqu'il bloque, dans l'éditeur de macro fait un débogage Pas à Pas par la touche F8, pour qu'il aille plus loin et localises la ligne incriminée.

S'il te plait peux-tu renseigner ton profil avec ta version excel?

A+
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

ca y est j'ai mis ma version excel dans mon profil.

J'ai fait F8 et je tombe directement sur le message d'erreur.

En fait ça marche au démarrage le formulaire s'ouvre direct et si quand j'avais fermer j'étais sur une cellule remplie il me remet les donnees.
Par contre si je clique sur afficher le formulaire j'ai systematiquement le message d'erreur
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Re toto

Je viens de re-tester avec 2007 et cela fonctionne chez moi.

Si j'ouvre en cliquant sur le bouton et que je suis sur durand, il affiche Durand, si je clique ensuite sur Dupond il affiche Dupond.

J'ai fait F8 et je tombe directement sur le message d'erreur.

Est-ce à dire qu'il n'ouvre même pas le UserForm quand tu fais F8 une fois bloqué sur la ligne " frmCoordonnées.Show vbModeless" ?

Avais-tu fais des changements?

Si non, je comprends pas.

A+
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Parfait merci beaucoup ça marche mais par contre quand je modifie et que je tape sur OK ça me crée une nouvelle ligne dans ma base données au lieu de modifier la ligne initiale.
Au finale si je modifie les données de Dupond Jean je me retrouve avec 2 ligne de Dupond Jean.
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

J'ai une autre question avec la commande qui permet de récupérer les données quand on reaffiche le formulaire.
En effet certaine cellule excel sont à l'origine créée a partir de plusieurs case du formulaire. Je m'explique:
Le nom d'un membre de l'asso est associé à une seule case du formulaire.
Par contre le numéro de téléphone qui ne fait qu'une cellule dans le tableau excel été fait avec 5 textbox dans le formulaire.
Comment faire correspondre les deux premier numéro à la premier case et ainsi de suite.
merci
 

ChTi160

XLDnaute Barbatruc
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Salut toto3371
bonjour le fil
Bonjour le forum

Arff pour ce qui est de ton message de 21:56 ,sur quel fichier travailles tu le mien ou le tien car chez moi sur le fichier que j'ai joint pas de problème

pour ce qui est de la deuxième demande effectivement pour quoi faire simple quand on peut faire compliquer Lol

Trois Combobox pour une date Lol
et seulement 5 pour les Numeros de Téléphone Lol
Surtout que cela n'évite pas les erreurs (possibilité de saisir par exemple 31/02/2009)

Affff pas évident !!!

Bonne journée
 
Dernière édition:

Discussions similaires

Réponses
27
Affichages
1 K

Statistiques des forums

Discussions
314 648
Messages
2 111 534
Membres
111 197
dernier inscrit
john49