[VB6 -> VBA]Cellule excel vers Userform [Résolu]

gislain99 - 20 mai 2013 à 13:40 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 21 mai 2013 à 16:56
Bonjour,

J'ai un Userform nomé "Userform3" avec une multipage. Sur une des pages nomé "Containers" j'ai plusieur textbox
listbox bouton qui me permete de renseigner une feuille excel nomé "bases containers" jusque la pas de probleme mais j'ai un bouton pour réaliser des modifications quand je clique dessus j'ouvre un userform nomé "Userform5" qui me demande de saisir l'immatriculation à modifier puis je valide et la je voudrais que toutes les info disponible sue cette immatriculation réaparesse dans les textbox listbox de ma page nomé "container".
Une petite precision mon immatriculation qui ce trouve en colonne "A" à etait rentré a l'aide de 3 textbox et un label ((Format des saisies)1er textbox AAAA ; 2eme textbox 123456 ; label - ; 3eme Textbox 3).

Ci joint mon code

Comme vous pouvez le voir j'ai fais plusieur essais mais pas de bon resultat.

'Modification container
 Private Sub CommandButton1_Click()
 Dim cel As Range, lig&, i&
 Dim Resultat As Range
 If TextBox1 + TextBox2 + Label2 + TextBox3 <> "" Then
 Set cel = Feuil11.Range("A2:A" & Feuil11.Range("A" & Rows.Count).End(xlUp).Row).Find(TextBox1 + TextBox2 + Label2 + TextBox3, , , xlWhole)
 If Not cel Is Nothing Then lig = cel.Row Else MsgBox "Aucune correspondance trouvée", , "Pas de correspondance": Exit Sub
 'Resultat.TextBox4 = Feuil11.Cells(lig, 1)
 'Resultat.TextBox5 = Feuil11.Cells(lig, 1)
 'Resultat.TextBox6 = Feuil11.Cells(lig, 1)
 'Resultat.TextBox7 = Feuil11.Cells(lig, 2)
 'Resultat.TextBox8 = Feuil11.Cells(lig, 2)
 'Uerform3.MultiPage1.Pages("page1").ComboBox1.Value = Feuil11.Cells(lig, 3)
 'Me.ComboBox2.Value = Feuil11.Cells(lig, 4)
 Resultat.TextBox18 = Feuil11.Cells(lig, 5)
 Resultat.TextBox146 = Feuil11.Cells(lig, 6)
 Resultat.ComboBox3 = Feuil11.Cells(lig, 7)
 Resultat.TextBox10 = Feuil11.Cells(lig, 8)
 Resultat.ComboBox5 = Feuil11.Cells(lig, 9)
 Resultat.ComboBox6 = Feuil11.Cells(lig, 10)
 Resultat.ComboBox7 = Feuil11.Cells(lig, 11)
 Resultat.ComboBox8 = Feuil11.Cells(lig, 12)
 Resultat.TextBox20 = Feuil11.Cells(lig, 13)
 Resultat.TextBox61 = Feuil11.Cells(lig, 14)
 Resultat.Show
 End If
 End Sub
Afficher la suite 

15 réponses

Répondre au sujet
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 21 mai 2013 à 16:56
+3
Utile
Hé bé ! Ainsi, donc, Resultat était finalement et simplement un UserForm et avait un autre nom !

ta seconde question est à traiter dans une autre discussion (une question technique par discussion).
Ouvre-la donc sans même parler de cellule, mais bel et bien du traitement d'une chaîne de caractères.

idem pour ta troisième question en isolant la difficulté (sans donc reprendre ce qui la précède).

Merci de te conformer à cette règle
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 20 mai 2013 à 14:55
0
Utile
Bonjour,
Où et comment est initialisé la plage Resultat déclarée par :
Dim Resultat As Range



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
gislain99 - 20 mai 2013 à 15:47
0
Utile
Excuse moi cette ligne est suprimé j'avais essayer d'une autre maniere.
excusé moi pour l'erreur
Commenter la réponse de gislain99
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 20 mai 2013 à 18:18
0
Utile
Cela ne me dit alors :
- ni ce qu'est la variable Resultat
- ni où et comment cette variable objet a été déclarée
- ni où est comment un objet lui a été attribué

Que veux-tu que je te réponde, sur ces "non-bases" ? Rien !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
gislain99 - 20 mai 2013 à 18:38
0
Utile
voici mon code a l'heure actuelle quand je lance l'execution il me donne variable non définit c'est la que je ne sait pas comment faire.

'Modification container
Private Sub CommandButton1_Click()
Dim cel As Range, lig&, i&
If TextBox1 + TextBox2 + Label2 + TextBox3 <> "" Then
Set cel = Feuil11.Range("A2:A" & Feuil11.Range("A" & Rows.Count).End(xlUp).Row).Find(TextBox1 + TextBox2 + Label2 + TextBox3, , , xlWhole)
If Not cel Is Nothing Then lig = cel.Row Else MsgBox "Aucune correspondance trouvée", , "Pas de correspondance": Exit Sub
'Resultat.TextBox4 = Feuil11.Cells(lig, 1)
'Resultat.TextBox5 = Feuil11.Cells(lig, 1)
'Resultat.TextBox6 = Feuil11.Cells(lig, 1)
'Resultat.TextBox7 = Feuil11.Cells(lig, 2)
'Resultat.TextBox8 = Feuil11.Cells(lig, 2)
'Uerform3.MultiPage1.Pages("page1").ComboBox1.Value = Feuil11.Cells(lig, 3)
'Me.ComboBox2.Value = Feuil11.Cells(lig, 4)
Resultat.TextBox18 = Feuil11.Cells(lig, 5)
Resultat.TextBox146 = Feuil11.Cells(lig, 6)
Resultat.ComboBox3 = Feuil11.Cells(lig, 7)
Resultat.TextBox10 = Feuil11.Cells(lig, 8)
Resultat.ComboBox5 = Feuil11.Cells(lig, 9)
Resultat.ComboBox6 = Feuil11.Cells(lig, 10)
Resultat.ComboBox7 = Feuil11.Cells(lig, 11)
Resultat.ComboBox8 = Feuil11.Cells(lig, 12)
Resultat.TextBox20 = Feuil11.Cells(lig, 13)
Resultat.TextBox61 = Feuil11.Cells(lig, 14)
Resultat.Show
End If
End Sub
Commenter la réponse de gislain99
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 20 mai 2013 à 18:43
0
Utile
Bon....
Relis-moi. Re-relis-moi. Re-re-re-lis-moi.
Ta réponse montre de manière très nette que tu veux brûler des étapes, sans même avoir pris le départ.
Désolé, mais ... voilà !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
gislain99 - 20 mai 2013 à 18:51
0
Utile
je t'envairais bien mon fichier mais je ne sais pas comment faire je debute en VBA
Commenter la réponse de gislain99
gislain99 - 20 mai 2013 à 19:01
0
Utile
ok merci de ton aide
ci tu lit le texte que j'ais donné avec mon programme j'ais expliqué ce que je voudrais réaliser je n'ais pas definit la variable car je ne sais pas le faire
sur la base de mon descriptif ne pe ton pas m'aiguillé
Commenter la réponse de gislain99
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 20 mai 2013 à 22:08
0
Utile
Désolé, ami, vraiment désolé.
Bonne chance.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Utilisateur anonyme - 21 mai 2013 à 02:48
0
Utile
Bonjour,
Tout ça m'a tout à fait l'air d'être du CCSC...

Alors Le "copier/Coller sans comprendre", consiste à "ramasser" des bouts de code "ici et la" et espérer que ça fonctionne...

Que comprends-tu de cette ligne? :
If Not cel Is Nothing Then lig = cel.Row Else MsgBox "Aucune correspondance trouvée", , "Pas de correspondance": Exit Sub


De plus, et comme a remarqué ucfoutu (que je salue au passage), où est la déclaration de ton "Resultat" ???
Tu vois? c'est comme les douanes, il faut le déclarer quelque-part...

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 21 mai 2013 à 07:50
0
Utile
Bonjour, aciçve,
Surtout : Qu'EST donc Resultat ? (Une feuille de calcul ? Un UserForm ?, autre chose ... et QUOI ? ... le demandeur l'a même déclaré comme plage dans son premier bout de code présenté ... !)
Nul ne le sait !
Même pas le demandeur, apparemment !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 21 mai 2013 à 08:06
0
Utile
A gislain99
Je sais que tu es venu ici après avoir attendu en vain 4 jours une réponse ailleurs.
Les raisons de l'impossibilité de t'aider sont à rechercher dans tes imprécisions quant aux tenants eux-mêmes de ton application. A un tel point que tu ne sembles pas les connaître non plus !
Je vois dans ces conditions très mal comment te venir en aide.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 21 mai 2013 à 11:03
0
Utile
Pour t'aider à réfléchir et analyser ton appli :

1)
une expression telle que :
Resultat.TextBox18 = Feuil11.Cells(lig, 5)

ne peut faire référence qu'à un contrôle nommé TextBox18 et contenu dans un objet container nommé Resultat. (car je veux croire que tu n'as pas créé une structure Resultat dont l'un des membres aurait pour nom TextBox18. Cela m'étonnerait ...)
ce container ne peut donc qu'être :
- soit une feuille de calcul nommée Resultat
- soit un userform nommé Resultat

2) La méthode Show
- peut s'appliquer à un userform
- peut s'appliquer à une plage
- ne peut s'appliquer à une feuille de calcul

Et par simple déduction (entre 1) et 2)) === >> Resultat ne peut qu'être un UserForm existant et ainsi nommé .

Et non seulement tu ne nous parles pas de cette existence, mais :
1) tu sembles l'ignorer totalement
2) ton premier code montré tend à le déclarer en plage, sans même définir celle "ainsi" concernée !
Ca fait beaucoup, ne crois-tu pas ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
gislain99 - 21 mai 2013 à 16:49
0
Utile
Bonjour,

Je comprend tres vite mais il faut m'expliqué longtemp.lol
Tes explications mon baucoup aidé j'ai pu modifier mon code et il fonctionne bien.

question suplaimentaire;

[b]1) dans la cellule A de ma feuille 11 j'ai un code du type AAAA666666-1 il me faut extraire les 4 premiere letres vers la textbox4 les 6chiffres vers la text box5 et le dernier chiffre dans la textbox6.

2)Sur le code que j'ai il faudrait que quand toutes les informations apparaissent dans les textbox listbox etc quelle soit suprimé sur ma feuille11./b



'Modification container
Private Sub CommandButton1_Click()
Dim cel As Range, lig&, i&
If TextBox1 + TextBox2 + Label2 + TextBox3 <> "" Then
Set cel = Feuil11.Range("A2:A" & Feuil11.Range("A" & Rows.Count).End(xlUp).Row).Find(TextBox1 + TextBox2 + Label2 + TextBox3, , , xlWhole)
If Not cel Is Nothing Then lig = cel.Row Else MsgBox "Aucune correspondance trouvée", , "Pas de correspondance": Exit Sub
'UserForm3.TextBox4 = Feuil11.Cells(lig, 1)
'UserForm3.TextBox5 = Feuil11.Cells(lig, 1)
'UserForm3.TextBox6 = Feuil11.Cells(lig, 1)
'UserForm3.TextBox7 = Feuil11.Cells(lig, 2)
'UserForm3.TextBox8 = Feuil11.Cells(lig, 2)
UserForm3.ComboBox1 = Feuil11.Cells(lig, 3)
UserForm3.ComboBox2 = Feuil11.Cells(lig, 4)
UserForm3.TextBox18 = Feuil11.Cells(lig, 5)
UserForm3.TextBox146 = Feuil11.Cells(lig, 6)
UserForm3.ComboBox3 = Feuil11.Cells(lig, 7)
UserForm3.TextBox10 = Feuil11.Cells(lig, 8)
UserForm3.ComboBox5 = Feuil11.Cells(lig, 9)
UserForm3.ComboBox6 = Feuil11.Cells(lig, 10)
UserForm3.ComboBox7 = Feuil11.Cells(lig, 11)
UserForm3.ComboBox8 = Feuil11.Cells(lig, 12)
UserForm3.TextBox20 = Feuil11.Cells(lig, 13)
UserForm3.TextBox61 = Feuil11.Cells(lig, 14)
UserForm5.Hide
End If
End Sub
Commenter la réponse de gislain99
gislain99 - 21 mai 2013 à 16:54
0
Utile
Bonjour,

Je comprend tres vite mais il faut m'expliqué longtemp.lol
Tes explications mon baucoup aidé j'ai pu modifier mon code et il fonctionne bien.

question suplaimentaire;

[b]1) dans la cellule A de ma feuille 11 j'ai un code du type AAAA666666-1 il me faut extraire les 4 premiere letres vers la textbox4 les 6chiffres vers la text box5 et le dernier chiffre dans la textbox6.

2)Sur le code que j'ai il faudrait que quand toutes les informations apparaissent dans les textbox listbox etc quelle soit suprimé sur ma feuille11./b

'Modification container
Private Sub CommandButton1_Click()
Dim cel As Range, lig&, i&
If TextBox1 + TextBox2 + Label2 + TextBox3 <> "" Then
Set cel = Feuil11.Range("A2:A" & Feuil11.Range("A" & Rows.Count).End(xlUp).Row).Find(TextBox1 + TextBox2 + Label2 + TextBox3, , , xlWhole)
If Not cel Is Nothing Then lig = cel.Row Else MsgBox "Aucune correspondance trouvée", , "Pas de correspondance": Exit Sub
'UserForm3.TextBox4 = Feuil11.Cells(lig, 1)
'UserForm3.TextBox5 = Feuil11.Cells(lig, 1)
'UserForm3.TextBox6 = Feuil11.Cells(lig, 1)
'UserForm3.TextBox7 = Feuil11.Cells(lig, 2)
'UserForm3.TextBox8 = Feuil11.Cells(lig, 2)
UserForm3.ComboBox1 = Feuil11.Cells(lig, 3)
UserForm3.ComboBox2 = Feuil11.Cells(lig, 4)
UserForm3.TextBox18 = Feuil11.Cells(lig, 5)
UserForm3.TextBox146 = Feuil11.Cells(lig, 6)
UserForm3.ComboBox3 = Feuil11.Cells(lig, 7)
UserForm3.TextBox10 = Feuil11.Cells(lig, 8)
UserForm3.ComboBox5 = Feuil11.Cells(lig, 9)
UserForm3.ComboBox6 = Feuil11.Cells(lig, 10)
UserForm3.ComboBox7 = Feuil11.Cells(lig, 11)
UserForm3.ComboBox8 = Feuil11.Cells(lig, 12)
UserForm3.TextBox20 = Feuil11.Cells(lig, 13)
UserForm3.TextBox61 = Feuil11.Cells(lig, 14)
UserForm5.Hide
End If
End Sub
Commenter la réponse de gislain99

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.