probleme macro

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

  • monfichier.xlsm
    18 KB · Affichages: 26
  • monfichier.xlsm
    18 KB · Affichages: 28
  • monfichier.xlsm
    18 KB · Affichages: 26
Dernière édition:

bbb38

XLDnaute Accro
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
 

yessa

XLDnaute Nouveau
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

  • Yessa_v01 (1).xlsm
    21.7 KB · Affichages: 20

Robert

XLDnaute Barbatruc
Repose en paix
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

  • Yessa_v02.xlsm
    28.9 KB · Affichages: 27

yessa

XLDnaute Nouveau
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
 

Robert

XLDnaute Barbatruc
Repose en paix
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

  • Yessa_v03.xls
    29.5 KB · Affichages: 20

Discussions similaires

Réponses
0
Affichages
252

Membres actuellement en ligne

Statistiques des forums

Discussions
312 472
Messages
2 088 709
Membres
103 928
dernier inscrit
MIKETUAU