• Initiateur de la discussion Initiateur de la discussion yessa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yessa

XLDnaute Nouveau
Bonsoir a tous
Je suis nouvelle ici et je vous remercie d'avance de l'aide apportée
Alors voilà
J'ai fais un tableau sur la feuille 2 sous Excel qui regroupe des données clients (colonne A: noms, B: références,C: adresse,D: téléphone)
Sur la feuille 1 , j'ai mis des boutons auxquels j'ai affectés des macros ( bouton 1 de remplissage, 2 de recherche par référence)
Mes problèmes sont:
. - j'ai fais les macros de remplissage qui via des textbox insèrent les données dans le tableau sauf que je sais pas quoi écrire pour qu'une fois le remplissage de la ligne 1 effectué même s'il reste des cellules vides, toutes les données a venir remplissent les cellules de la ligne suivante et ainsi de suite (car si je remplie la référence, le tel et l'adresse en ligne 1, la prochaine saisie va venir compléter la cellule vide en ligne 1 à savoir le nom et donc fausser les données)
. - je veux via le bouton recherche qu'un userform s'ouvre et qu'il y ait un textbox à remplir avec la référence pour qu'il aille chercher dans le tableau la ligne correspondante avec toutes les infos et qu'il me place dessus en surlignant la ligne et en masquant les autres lignes.

J'espère que vous comprendrez mes explications, et encore merci
 

Pièces jointes

Dernière édition:
Re : probleme macro

Bonjour yessa, le forum,
Si tu pouvais mettre un petit fichier d’exemple (quelques lignes suffissent, avec des données non confidentielles), je suis certain que tu obtiendras la solution à ton problème.
Cordialement,
Bernard
 
Re : probleme macro

un grand merci à Toi Robert
merci merci

je vais encore t'embêter car ton aide m'est d'un grand secours

-j'ai essayé de faire une liste déroulante avec filtre associé en vain, pourrais tu m'aider à faire cela ?
que ma liste déroulante soit sur la cellule titre "noms" sans modifier le titre et qu'elle permette de sélectionner le nom dans une
liste pour que ne s'affiche que les infos correspondantes. Si possible qu'elle puisse être mise à jour lorsqu'on rentre un nouveau
nom.

-via le bouton recherche si possible lorsque les infos s'affichent avoir la possibilité soit d'aller dans le tableau à la ligne concernée ou d'envoyer les infos sur une feuille pour les imprimer

je te joins le fichier avec un début de liste déroulante

encore merci
 

Pièces jointes

Re : probleme macro

Bonjour Yessa, bonjour le forum,

-j'ai essayé de faire une liste déroulante avec filtre associé en vain, pourrais tu m'aider à faire cela ?
que ma liste déroulante soit sur la cellule titre "noms" sans modifier le titre et qu'elle permette de sélectionner le nom dans une
liste pour que ne s'affiche que les infos correspondantes. Si possible qu'elle puisse être mise à jour lorsqu'on rentre un nouveau nom.
la plage nommée noms est dynamique avec la formule :
Code:
=DECALER(Feuil3!$A$2;;;NBVAL(Feuil3!$A:$A)-1)
Si tu modifies, rajoute ou supprime une nom dans l'onglet Feuil3 la liste de validation est automatiquement actualisée. Pour le filtre, en sélectionnant la colonne A avant de filtrer ça fonctionne correctement.

-via le bouton recherche si possible lorsque les infos s'affichent avoir la possibilité soit d'aller dans le tableau à la ligne concernée ou d'envoyer les infos sur une feuille pour les imprimer
C'est ce que ça faisait déjà (aller dans le tableau) ! Clique sur valider...

Le fichier modifier :
 

Pièces jointes

Re : probleme macro

Bjr Robert

Je suis sur mon fichier original que j'essaie d'adapter .
Je coince pour le formulaire, j'essaie d'appliquer la boucle For pour le non retour en arrière seul problème comment faire quand j'ai 21 colonnes a remplir avec des Textbox et des Combobox renommés?
Ca me marque débogage sur la ligne
.Cells(lig,i).Value=Me.Controls......

Merci
 
Re : probleme macro

Bonjour Yessa, bonjour le forum,

Il est vrai que dans ton exemple il n'y avait que des textboxes qui, en plus, se suivaient...
Quand je dois gérer des contrôles différents et parfois renommés, voilà comment je procède:
J'attribue à la propriété Tag, de chaque contrôle qui doit renvoyer sa valeur dans le tableau, la lettre de la colonne dans laquelle sa valeur est renvoyée. Par exemple, si la valeur d'une textbox renommé TB_Nom, doit être renvoyé dans la colonne G du tableau, la propriété Tag de TB_Nom = G.
La propriété Tag des autres contrôles reste vierge. On peut alors renvoyer les valeurs de l'Userform par un code du style :
Code:
Private Sub CommandButton1_Click()
Dim plv As Integer 'déclare la variable plv (Première Ligne Vide)
Dim ctrl As Control 'déclare la variable ctrl (ConTRôLe)

With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    plv = .Cells(Application.Rows.Count, 1).End(xlUp).Row + 1 'définit la première ligne vide de la colonne 1 (=A)
    For Each ctrl In Me.Controls 'boucle sur tous les contrôles de l'UserForm
        'si la prorpriété "Tag" n'est pas vide, place la valeur du contrôle dans la
        'cellule ligne "plv", colonne "tag" du contrôle
        If ctrl.Tag <> "" Then .Range(ctrl.Tag & plv).Value = ctrl.Value
    Next ctrl 'prochain contrôle de la boucle
End With 'fin de la prise en compte de l'onglet "Feuil1"
Unload Me 'vide et ferme l'UserForm
End Sub
En pièce jointe une petit fichier exemple fait à l'arrache...
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 INDEX equiv
Réponses
1
Affichages
118
  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
232
Réponses
2
Affichages
87
Réponses
10
Affichages
338
Retour