Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2011, 15h53   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 33
Points : 10
Points : 10
Par défaut textbox et combobox

Bonjour tout le monde,

J'ai des userform qui contiennent des textbox et des combobox.
J'ai un code pour enregistrer toutes les textbox sur des lignes excel, mais comment puis-je aussi enregistrer mes combobox ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
'alerte message box pour confirmer l'action de mettre à jour
Dim reponse As Byte
reponse = MsgBox("Confirmez-vous la mise à jour des données", vbQuestion + vbYesNo + vbDefaultButton2, "Enregistrement")
If reponse = vbNo Then Exit Sub

'pour changer de ligne de code 
For I = 4 To 154
' pour changer le colone 
    For J = 1 To 35
    'code pour enregistrer dans les cellules
        If TextBox1.Value = Worksheets("bdouvrages").Cells(I, 1).Value Then Worksheets("bdouvrages").Cells(I, J).Value = MAJFIO.Controls("TextBox" & J).Value
    Next
Next

N'y a t il pas un dénominateur commun ? du genre : je veux que tous les controls de l'userform1 s'enregistre ?

Merci de votre aide
kaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 16h51   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 869
Points : 1 837
Points : 1 837
Tu peux boucler sur les contrôles de la feuille
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 21/11/2011, 16h56   #3
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 33
Points : 10
Points : 10
merci j'y pensais! mais concrètement, le code s'écrit comment ?
kaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 16h59   #4
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Tu as tous les exemples de base ici :

I-B. Boucler sur les contrôles contenus dans la Forme

Cordialement,

Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous raporte des points

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 23/11/2011, 09h03   #5
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 33
Points : 10
Points : 10
Merci pour les infos, mais concrètement, comment mon code s'articule? Je n'y arrive pas, il doit me manquer qqch !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Dim reponse As Byte
reponse = MsgBox("Confirmez-vous la mise à jour des données", vbQuestion + vbYesNo + vbDefaultButton2, "Enregistrement")
If reponse = vbNo Then Exit Sub
 
'pour changer de ligne de code 
For I = 4 To 154
' pour changer le colone 
    For J = 1 To 35
    'code pour enregistrer dans les cellules
        If TextBox1.Value = Worksheets("bdouvrages").Cells(I, 1).Value Then Worksheets("bdouvrages").Cells(I, J).Value = MAJFIO.Controls("TextBox" & J).Value
    Next
Next

Merci de votre aide
kaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 10h32   #6
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

pas vraiment clair ce que tu veux, vois ici un exemple concret de scan de controls d'un USF :

http://www.developpez.net/forums/d11...ons-checkboxs/


Cordialement,

Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 10h41   #7
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 33
Points : 10
Points : 10
En fait dans mon userform j'ai des textbox et des combobox. Chacune d'entre elles correspondent à une cellule dans excel. Je voudrais trouver une commande qui permette de ne pas faire de différence entre les textbox et les combobox :

Voila mes lignes de code pour des textbox uniquement. Comment faire pour inclure également des combobox ?

Code :
1
2
3
4
5
6
7
8
'pour changer de ligne de code 
For I = 4 To 154
' pour changer le colone 
    For J = 1 To 35
    'code pour enregistrer dans les cellules
        If TextBox1.Value = Worksheets("bdouvrages").Cells(I, 1).Value Then Worksheets("bdouvrages").Cells(I, J).Value = MAJFIO.Controls("TextBox" & J).Value
    Next
Next
kaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 10h49   #8
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 869
Points : 1 837
Points : 1 837
Et si tu appelles tes ComboBox "TextBox253" comme les autres, ça ne marche pas ?
Ce n'est pas très clair ce que tu veux faire. Tu as disons 10 lignes et 10 combobox/textbox et tu veux que si la première ligne correspond à la première combobox, tu copies les autres controles dans les lignes en dessous ?

Explique peut-être plus clairement ce que tu veux faire, peut-être que tu n'es tout simplement pas parti du tout dans la bonne direction.
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/11/2011, 10h50   #9
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
bonjour,

l'équivalent de :

c'est ?

.
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 11h04   #10
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 33
Points : 10
Points : 10
Merci ZEBRELOUP !!!
Tu as compris ce que je voulais.
Je ne pensais pas que l'on pouvais renommer une combobox en textbox. Cela marche parfaitement. Merci beaucoup. Je cherchai trop compliqué!
Merci de ton aide
kaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 11h09   #11
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 869
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 869
Points : 1 837
Points : 1 837
Tu peux les appeler toto1, toto2, toto3... si tu veux. C'est toi qui fixe le nom de tous tes contrôles.
Par contre, ça ne marchera pas toujours car il faut que la propriété que tu récupères soit commune à tous les controles. Il n'y aura pas de value pour un label par exemple
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/11/2011, 11h25   #12
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Citation:
Et si tu appelles tes ComboBox "TextBox253" comme les autres
Bien vu pour le décryptage de ce que voulais kaboche

Par contre aller nommer une Combobox "TextBoxzz", c'est une abomination

C'est la voie à une maintenance impossible, à moins d'une stratégie d'obfuscation, volontaire, c'est à éviter à tout prix !

Par contre employer un nom générique pour nommer les deux = OK genre CotrolaDede01 etc..

Donc pour kaboche, ZebreLoup n'a employé cet exemple précis que pour tenter de concrétiser ton idée, mais ne surtout pas l'employer à la lettre

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h17.


 
 
 
 
Partenaires

Hébergement Web