Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : RechercheV dans un userform vba excel [ Langages dérivés / VBA ] (avyrex1926)

mardi 23 janvier 2007 à 00:53:21 | RechercheV dans un userform vba excel

avyrex1926

Membre Club
Re bonjour à tous,

Me revoilà avec une nouvelle question.

J'ai un userform avec ComboBox1 - ComboBox2 - TextBox1 - TextBox2 - TextBox3 - TextBox4 - TextBox5  et  TextBox6.

Je voudrais que si j'entre une données du ComboBox1 (Colonne A)  ou ComboBox2 (Colonne B)qui sont reliés avec l'onglet Liste des clients, que les données de la colone C, D, E, F, G, H se transcrivent dans les TextBox1 à 6. Comme une rechercheV.

Je voudrais que les données s'inscrivent automatiquement dans les TextBox.

Comment faire?



mardi 23 janvier 2007 à 02:23:42 | Re : RechercheV dans un userform vba excel

MPi

Il te faudrait faire Recherche de la colonne A jusqu'à ce que tu trouves la valeur du Combo1. Quand tu trouves la valeur, tu vérifies éventuellement que la cellule en B soit identique au Combo2. Si c'est le cas, tu replis tes textbox avec les cellules de droite sur cette ligne trouvée.

Je dis éventuellement parce que tu ne dis pas si c'est possible qu'une donnée en A ou en B puisse se répéter.

Si ce n'est pas le cas une simple recherche dans la colonne voulue sera assez.
Tu peux utiliser une Function comme celle-ci pour retracer la ligne

Function Recherche(Valeur, Colonne As Integer) As Long
    Dim Trouve As Range
   
    Set Trouve = Columns(Colonne).Find(Valeur, , xlValues, xlWhole)
    If Not Trouve Is Nothing Then  'Trouvé
        Recherche = Trouve.Row
    End If
End Function

Tu l'appelles comme ceci
Dim Ligne as Long
Ligne = Recherche(LeTexte, NumeroDeColonne)
Textbox1 = Range("C" & Ligne)
Textbox2 = Range("D" & LIgne)
.................etc

MPi

mardi 23 janvier 2007 à 02:29:58 | Re : RechercheV dans un userform vba excel

MPi

J'ai oublié de mentionner que la Function doit retourner 0, disons, si la valeur n'a pas été trouvée pour éviter les erreurs

Donc,
Function Recherche(Valeur, Colonne As Integer) As Long
    Dim Trouve As Range
   
    Set Trouve = Columns(Colonne).Find(Valeur, , xlValues, xlWhole)
    If Not Trouve Is Nothing Then  'Trouvé
        Recherche = Trouve.Row
    Else
        Recherche = 0
    End If
End Function

Et tu vérifies la valeur de Ligne avant de remplir tes textbox
Ligne = Recherche(LeTexte, NumeroDeColonne)
If Ligne > 0 then
'Remplir les textbox

Et comme le paramètre Valeur de la Function est Variant, tu peux aussi rechercher un chiffre

MPi

mardi 23 janvier 2007 à 02:36:25 | Re : RechercheV dans un userform vba excel

avyrex1926

Membre Club
Excuse moi mais j'ai un peux de difficulté à comprendre tous ça.

Désolé je suis apprenti vba 

mardi 23 janvier 2007 à 02:54:43 | Re : RechercheV dans un userform vba excel

avyrex1926

Membre Club
En réalité, dans le comboBox1 ( Donnée de la colone A), je choisi le numéro de client donc si je choisi par exemple le numéro de client 123456, dans le combobox 2 et tous les textbox, il me donne les info du client qui se retrouve dans l'onglet Liste des clients qui sont représenté par ligne dans la page excel exemple ligne 4 car ligne 5 et + represente les autres clients.

Donc sur la ligne 4, colonne A représente # de client, colonne B = Nom du client, Colonne C = adresse etc........


Je veux aussi avoir le choix aussi par nom de client (ComboBox2) pour remplire l'autre ComboBox1 et les textBox.



mardi 23 janvier 2007 à 11:14:10 | Re : RechercheV dans un userform vba excel

MPi

Réponse acceptée !
C'est assez simple, il me semble...
Tu as la Function déjà faite, tu as le genre d'appel à faire... quoi de plus ?

Bon, je commence à douter de la clarté de mes explications...
Copie la Function Recherche, crée une procédure BlaBla() et fais un test
Lorsque tu cliques sur un bouton, appelle la procédure BlaBla

Sub BlaBla()
Dim Ligne as long

'sélection de la feuille
Sheets("MaFeuilleàRechercher").Activate

Ligne = Recherche(combobox1.text, 1) ' recherche du texte sélectionné du combobox1 dans la colonne A ( columns("A:A") = Columns(1) )

If Ligne = 0 then exit sub ' valeur non trouvée

On a trouvé la valeur sur la ligne Ligne
Textbox1 = Range("C" & Ligne)
Textbox2 = Range("D" & Ligne)

Si tu veux faire la recherche sur la colonne B
Ligne = Recherche(combobox2.text, 2) ' recherche du texte sélectionné dans la colonne B
If Ligne = 0 then exit sub ' valeur non trouvée
Textbox1 = Range("C" & Ligne)
Textbox2 = Range("D" & Ligne)

est-ce plus clair ?

MPi

mardi 23 janvier 2007 à 11:46:07 | Re : RechercheV dans un userform vba excel

avyrex1926

Membre Club
Merci beaucoup MPI pour ton aide 



mardi 23 janvier 2007 à 11:53:55 | Re : RechercheV dans un userform vba excel

MPi

Y a pas de quoi
Bonne continuation

MPi



Cette discussion est classé dans : vba, données, excel, userform, recherchev


Répondre à ce message

Sujets en rapport avec ce message

transfert de données de VBA vers ACCESS [ par pearl ] j'ai créé une application excel et je voudrais récupérer les données résultant du traitement pour les inserer automatiquement dans une Table Access.En Aide VBA Excel userform .... Urgent .. [ par Metos ] Bon voila je cree un useform . je recupere les données de noms de clients etc.. dans une liste. Par la suite je voudrais que lorsque j enregistre les Résolution d'ecran sur Excel et VBA [ par Quecks ] Slt,je crée des userform avec une résolution 800*600 mais lorsque je les envoie à ceux qui travail avec une résolution 1024*768, les userform ne couvr VBA EXCEL: Données X et Y pour un graphique [ par Petitgus ] Salut !Je cherche à insérer ds un graphique (nuage de pts) des séries directement à partir des valeurs contenues dans des variables (vecteurs ou matri VBA excel commande word [ par yelie ] Je dois créer une macro dans excel qui me permette d'ouvrir un fichier word (jusque là, je sais faire), mais dans ce fichier word, je dois créer un ta Code VBA [ par bubuf ] Bonjour à tous,Après avoir créer une Userform dans EXCEL,Comment ajouter ce controle "USERFORM" sur l'emplacement précis d'une cellule ( par ex : rang VBA & Excel [ par JulieChoui ] Bonjour,J'aurais 2 questions pour un bon connaisseur de Excel & VBA.D'abord, existe t-il une commande bien simple pour que je puisse me promener d'une Excel et VBA [ par buz5 ] Bonjour, je travaille sur VBA et excel et j'aimerez inserrer un sous formulaire (comme dans access) dans un userform et pouvoir saisir plusieurs ligne VBA EXCEL [ par syltab ] SalutUne aide serait profitableJ'ai une boite de dialogue, avec 20 cases à cocher qui correspondent aux réponses à 10 questions.2 réponses possible pa VBA/Excel : Boutons de commandes [ par jmr31 ] Bonjour,Je développe en VBA sous Excel.Plutôt novice, je cherche à récupérer dans la macro (sous VBA) liée au bouton, la position de celui-ci dans la


Nos sponsors

Sondage...

CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.