Afficher données dans USERFORM pour les modifier

cs_vbadebutant Messages postés 10 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 2 décembre 2006 - 29 nov. 2006 à 10:57
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011 - 3 déc. 2006 à 10:33
J'ai crée une feuille excel composée de plusieurs CommandButton. L'un deux m'affiiche un Userform qui alimente une base de données Excel sur une autre feuille du même classeur. J'ai crée un autre Command Button qui me permet d'afficher les données présentes dans la première colonne de la BDD. Après sélection de la valeur choisie et validation en cliquant sur un bouton, s'affiche un Usreform. Je voudrais que dans cette Userform (qui est identique à l'Userform ayant servi à alimenter la BBD) s'affiche les données correspondant à celle de la valeur choisie à l'étape précédente
EXEMPLE:
J'ai sélectionné  le de la personne dans l'Userform. En validant le nouvel Userform m'indique dans une TextBox ce nomadresse, son téléphone,etc...   
Naturellement toutes ces données ont été préalablement renseignés. Avec pour objectif final de pouvoir les modifier et bien sûr de mettre alors à jour la base de données.

Merci à vous
vbadébutant

13 réponses

drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 nov. 2006 à 11:02
Salut, bonne description, ta question je suppose que c'est: comment procédé ?

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_vbadebutant Messages postés 10 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 2 décembre 2006
29 nov. 2006 à 11:17
Exact! et en saisissant quel code

vbadébutant
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 nov. 2006 à 11:21
Tout dépend de comment est organisé ta BDD!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_vbadebutant Messages postés 10 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 2 décembre 2006
29 nov. 2006 à 11:49
Alors dans la premiére ligne j'ai les entêtes: colonne A = Nom, colonne B = prenom, Colonne C = telephone etc..... La feuille où se situe cette BDD est nommée LISTE
Ensuite sur les lignes suivantes il y a les données saisies par le biais de l'Userform

Merci
vbadébutant
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
29 nov. 2006 à 12:00
Essaye d'adapter ce code:

Dim i As Integer


Private Sub CmdRechercher_Click()


Sheets("Sociétés").Activate


Dim k As Integer


For k = 2 To i - 1


If CmbNom.Value = Range("A" & k) Then


TxtAdresse.Value = Range("B" & k).Value
TxtCodePostale.Value = Range("C" & k).Value
TxtVille.Value = Range("D" & k).Value
TxtPays.Value = Range("E" & k).Value
TxtTel.Value = Range("F" & k).Value
TxtFax.Value = Range("G" & k).Value
TxtMail = Range("H" & k).Value
TxtRemarque.Value = Range("I" & k).Value


End If


Next k


End Sub


Private Sub UserForm_Activate()


Sheets("Sociétés").Activate

i = PremiereLigneVide(1)


If i > 2 Then
Dim tableau()
Dim j As Integer


j = 2
Do
ReDim Preserve tableau(1 To j)
tableau(j) = Range("A" & j).Value
CmbNom.AddItem tableau(j)
j = j + 1
Loop Until (j = i)


CmbNom.ListIndex = 0


Else


MsgBox "Il n'y a pas encore d'entrée société"


End If


End Sub


Public Function PremiereLigneVide(Colonne As Integer) As Integer


    PremiereLigneVide = Columns(Colonne).Find("", , , , xlByRows, xlNext).Row
   
End Function







 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_vbadebutant Messages postés 10 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 2 décembre 2006
29 nov. 2006 à 12:37
Merci,
j'essaye ce soir

vbadébutant
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
29 nov. 2006 à 22:49
bah normalement cest ca
moi je lai teste et cest bon
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 nov. 2006 à 00:03
Je n'ai pas vérifié, mais j'imagine que le code de DrikCe06 est correct

Par contre, lorsqu'on doit rechercher des personnes, on devrait vérifier le nom, mais aussi le prénom au cas où plusieurs personnes auraient le même nom. On pourrait aussi y aller avec d'autres détails au cas où il y aurait plusieurs personnes ayant les mêmes noms et prénoms...

Il faudrait donc changer la condition de départIf CmbNom.TextRange("A" & k) And CmbPrenom.Text Range("B" & k) Then

(Je préfère y aller avec .Text plutôt que .Value...)

MPi
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
30 nov. 2006 à 07:45
Salut MPI, c'est sur qu'il faudrai ajouter un prénom pour faire la différence, je me suis contenté de répondre à ce qu'il demandai!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 nov. 2006 à 11:31
Drickce06:
j'espère que tu ne voyais pas mon commentaire comme une critique à ton code.
Je voulais simplement lui mettre la puce à l'oreille... J'ai vu souvent ce genre question apparaître et les gens finissent presque toujours par demander ce qu'on fait lorsque des noms se répètent... Aussi bien partir sur le bon pied...

MPi
0
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
30 nov. 2006 à 11:50
T'inquiètes pas MPI, je ne l'ai pas du tout pris comme une critique, effectivement, après il y aurai eu la question suppression de doublons au autre comme d'habitude! Et mon code est tout ce qu'il y a de plus basic, c'est ce que j'avais fais rapidement pour un autre membre, il y a beaucoup d'amélioration à y apporter; c'était juste pour le mettre sur la voie, pour qu'il sache un peu comment faire ce qu'il veut! Et je pense qu'il doit y avoir d'autres possibilités!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_vbadebutant Messages postés 10 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 2 décembre 2006
2 déc. 2006 à 15:56
Bon j'ai essayé d'adapter le code, mais je n'y arrive pas: ôù dois-je saisir le code? Dans le code du bouton, dans celui du userfom s'ouvrant aprés validation du bouton, auquel cas ne dois-je pas mettre un truc de ce genre:  Private Sub Userform_Activate()
Bon bref voilà mes problèmes.

vbadébutant
0
mirmoleboss Messages postés 303 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 29 juillet 2011
3 déc. 2006 à 10:33
tu parle de ce code la If CmbNom.TextRange("A" & k) And CmbPrenom.Text Range("B" & k) Then
si oui il faut le remplacer


If CmbNom.Value = Range("A" & k) Then


TxtAdresse.Value = Range("B" & k).Value
TxtCodePostale.Value = Range("C" & k).Value
TxtVille.Value = Range("D" & k).Value
TxtPays.Value = Range("E" & k).Value
TxtTel.Value = Range("F" & k).Value
TxtFax.Value = Range("G" & k).Value
TxtMail = Range("H" & k).Value
TxtRemarque.Value = Range("I" & k).Value

par If CmbNom.TextRange("A" & k) And CmbPrenom.Text Range("B" & k) Then ton code a executer
TxtAdresse.Value = Range("B" & k).Value
TxtCodePostale.Value = Range("C" & k).Value
TxtVille.Value = Range("D" & k).Value
TxtPays.Value = Range("E" & k).Value
TxtTel.Value = Range("F" & k).Value
TxtFax.Value = Range("G" & k).Value
TxtMail = Range("H" & k).Value
TxtRemarque.Value = Range("I" & k).Value

je crois que cest ca je ne suis pas non plus un pro
0
Rejoignez-nous