VBA Excel est-il possible ?
Résolu/Fermé
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
-
10 janv. 2009 à 23:02
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 18 janv. 2009 à 22:17
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 18 janv. 2009 à 22:17
A voir également:
- VBA Excel est-il possible ?
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
11 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
11 janv. 2009 à 09:53
11 janv. 2009 à 09:53
bonjour
Bien sûr, userform.show fonctionne où tu veux.
Bien sûr, userform.show fonctionne où tu veux.
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
11 janv. 2009 à 22:14
11 janv. 2009 à 22:14
bonjour Gbinforme,
depuis ce matin je suis sur mon problème, et je travaille sur une feuille moins chargée qui me premet de tester juste la procédure que j'essaie de mettre en place, vraiment je n'arrive à rien et j'ai manipulé dans tous les sens :
je récapitule: je veux modifer une donnée via un bouton d'option --> je liste les données de la colonne 1 (via une boucle for ...next) si la donnée est = à "idem", je ne modifie pas la valeur de la cellule, lorsque la valeur de la cellule est différente de "idem", je veux ouvrir un userform avec une frame de optionbutton pour que l'utilisateur choisisse la valeur à remplacer au même endroit. Autrement dit il y a un travail de recherche à faire pour trouver la donnée dans le tableau excel (ça c'est ok), et une fois qu'on l'a trouvé, on charge un userform avec bouton d'option pour remplacer la valeur, puis on revient dans le programme pour finir de lister la colonne, je n'arrive pas à faire le code : pour exemple : j'ai mis "idem" dans la cells(1,1) et rien dans la cells(2,1) et "idem" dans la cells(3,1), ca donne :
Private Sub CommandButton1_Click()
Sheets("feuil1").Select
For i = 1 To 10 Step 1
Cells(i, 1).Select
If Cells(i, 1).Value = "idem" Then
MsgBox ("YES")
End If
If Cells(i, 1) <> "idem" Then
Call macro1
End If
Next i
End Sub
Sub macro1()
UserForm1.Show
End Sub
et le code pour les optionbutton :
Private Sub OptionButton1_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton1.Caption
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton2.Caption
End If
End Sub
dans le prog private optionButton ma varaible n'est pas reconnu et surtout je ne reviens pas sur ma feuille excel pour finir de listeer toute la colonne ,je te remercie encore pour ton aide, j'ai passé mon week end sur ce problème et rien trouvé sur le net ?
bonne soirée,
aurelie76
depuis ce matin je suis sur mon problème, et je travaille sur une feuille moins chargée qui me premet de tester juste la procédure que j'essaie de mettre en place, vraiment je n'arrive à rien et j'ai manipulé dans tous les sens :
je récapitule: je veux modifer une donnée via un bouton d'option --> je liste les données de la colonne 1 (via une boucle for ...next) si la donnée est = à "idem", je ne modifie pas la valeur de la cellule, lorsque la valeur de la cellule est différente de "idem", je veux ouvrir un userform avec une frame de optionbutton pour que l'utilisateur choisisse la valeur à remplacer au même endroit. Autrement dit il y a un travail de recherche à faire pour trouver la donnée dans le tableau excel (ça c'est ok), et une fois qu'on l'a trouvé, on charge un userform avec bouton d'option pour remplacer la valeur, puis on revient dans le programme pour finir de lister la colonne, je n'arrive pas à faire le code : pour exemple : j'ai mis "idem" dans la cells(1,1) et rien dans la cells(2,1) et "idem" dans la cells(3,1), ca donne :
Private Sub CommandButton1_Click()
Sheets("feuil1").Select
For i = 1 To 10 Step 1
Cells(i, 1).Select
If Cells(i, 1).Value = "idem" Then
MsgBox ("YES")
End If
If Cells(i, 1) <> "idem" Then
Call macro1
End If
Next i
End Sub
Sub macro1()
UserForm1.Show
End Sub
et le code pour les optionbutton :
Private Sub OptionButton1_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton1.Caption
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton2.Caption
End If
End Sub
dans le prog private optionButton ma varaible n'est pas reconnu et surtout je ne reviens pas sur ma feuille excel pour finir de listeer toute la colonne ,je te remercie encore pour ton aide, j'ai passé mon week end sur ce problème et rien trouvé sur le net ?
bonne soirée,
aurelie76
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
11 janv. 2009 à 22:25
11 janv. 2009 à 22:25
bonjour
dans le prog private optionButton ma varaible n'est pas reconnu
Quelle variable ?
Tu devrais mettre ton classeur sur http://www.cijoint.fr/
puis nous mettre ici le lien généré ce sera plus rapide que de chercher sur le net un souci de ton programme.
dans le prog private optionButton ma varaible n'est pas reconnu
Quelle variable ?
Tu devrais mettre ton classeur sur http://www.cijoint.fr/
puis nous mettre ici le lien généré ce sera plus rapide que de chercher sur le net un souci de ton programme.
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
11 janv. 2009 à 22:35
11 janv. 2009 à 22:35
Rebonsoir et merci pour ta réponse super rapide, j'étais déjà reparti sur excel pour mon problème, la variable est i, je liste la colonne A les valeurs des cellules avec une boucle :
For i = 1 To 10 Step 1
Cells(i, 1).Select
If Cells(i, 1).Value = "idem" Then
MsgBox ("YES")
End If
si la valeur est différente de "idem", j'appelle une procédure pour charger la userform d'option bouton :
If Cells(i, 1) <> "idem" Then
Call macro1
End If
Next i
End Sub
Sub macro1()
UserForm1.Show
End Sub
la macro1 se load et j'ai mes optionbutton et je veux remettre à la cells (i,1) la valeur choisi par l'optionbutton (optionbutton1.caption)
Private Sub OptionButton1_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton1.Caption
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton2.Caption
End If
End Sub
Mais dans la procédure optionbutton, il ne reconnait pas la valeur de la variable i et surtout je ne reviens pas sur ma boucle définie par for i=1 to 10 ... pour finir de lister les cellules suivante de la colonne A.
je veux bien mettre le code sur cijoint.fr mais dans le post d'avant j'ai fait un copier coller de mon source.
Merci pour ton aide précieuse car il n'y a que toi qui se soit penché sur mon problème.
bonne soirée,
Aurelie76
For i = 1 To 10 Step 1
Cells(i, 1).Select
If Cells(i, 1).Value = "idem" Then
MsgBox ("YES")
End If
si la valeur est différente de "idem", j'appelle une procédure pour charger la userform d'option bouton :
If Cells(i, 1) <> "idem" Then
Call macro1
End If
Next i
End Sub
Sub macro1()
UserForm1.Show
End Sub
la macro1 se load et j'ai mes optionbutton et je veux remettre à la cells (i,1) la valeur choisi par l'optionbutton (optionbutton1.caption)
Private Sub OptionButton1_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton1.Caption
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton1 = True Then
Cells(i,1).value=OptionButton2.Caption
End If
End Sub
Mais dans la procédure optionbutton, il ne reconnait pas la valeur de la variable i et surtout je ne reviens pas sur ma boucle définie par for i=1 to 10 ... pour finir de lister les cellules suivante de la colonne A.
je veux bien mettre le code sur cijoint.fr mais dans le post d'avant j'ai fait un copier coller de mon source.
Merci pour ton aide précieuse car il n'y a que toi qui se soit penché sur mon problème.
bonne soirée,
Aurelie76
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
11 janv. 2009 à 22:46
11 janv. 2009 à 22:46
Gbiforme
ci joint le classeur :
http://www.cijoint.fr/cjlink.php?file=cj200901/cij42ldQiV.xls
Merci encore 1000 fois,
bonne soirée,
aurelie
ci joint le classeur :
http://www.cijoint.fr/cjlink.php?file=cj200901/cij42ldQiV.xls
Merci encore 1000 fois,
bonne soirée,
aurelie
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
11 janv. 2009 à 23:23
11 janv. 2009 à 23:23
bonjour
Voici le classeur corrigé et comme je t'ai dit depuis le début, si tu avais défini ta variable publique tu te serais rendu compte que cela fonctionnait.
J'ai mis un bouton pour lancer le processus.
Ta gestion des options à cocher est incorrecte car pour passer il faut obligatoirement cocher l'autre option mais la macro tourne et elle va même jusqu'à la fin de tes données.
Le classeur : http://www.cijoint.fr/cjlink.php?file=cj200901/cij8KQnvSO.xls
Voici le classeur corrigé et comme je t'ai dit depuis le début, si tu avais défini ta variable publique tu te serais rendu compte que cela fonctionnait.
J'ai mis un bouton pour lancer le processus.
Ta gestion des options à cocher est incorrecte car pour passer il faut obligatoirement cocher l'autre option mais la macro tourne et elle va même jusqu'à la fin de tes données.
Le classeur : http://www.cijoint.fr/cjlink.php?file=cj200901/cij8KQnvSO.xls
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
11 janv. 2009 à 23:34
11 janv. 2009 à 23:34
Rebonsoir cher Gbinforme,
j'ai essayé ton code sans douter que cela fonctionnerait mais en le lancant, je voulais avoir le plaisir de le voir tourner, franchement, un très grand merci, je l'adapte à mon code d'origine et t'informe sur le résultat mais en tout cas, chapeau, j'avais pourtant bricolé avec public i as long mais sans succès. Je ne maitrise pas du tout VBA aussi, j'ai de très grosse lacune et ne comprend pas bien l'essentiel de cette fonction.
Merci , merci, merci, je suis épuisée d'avoir passé mon week end la dessus.... on ne doit pas avoir le cerveau fait tous de la même manière, chapeau.
bisous,
aurelie
j'ai essayé ton code sans douter que cela fonctionnerait mais en le lancant, je voulais avoir le plaisir de le voir tourner, franchement, un très grand merci, je l'adapte à mon code d'origine et t'informe sur le résultat mais en tout cas, chapeau, j'avais pourtant bricolé avec public i as long mais sans succès. Je ne maitrise pas du tout VBA aussi, j'ai de très grosse lacune et ne comprend pas bien l'essentiel de cette fonction.
Merci , merci, merci, je suis épuisée d'avoir passé mon week end la dessus.... on ne doit pas avoir le cerveau fait tous de la même manière, chapeau.
bisous,
aurelie
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
12 janv. 2009 à 09:31
12 janv. 2009 à 09:31
bonjour
j'avais pourtant bricolé avec public i as long mais sans succès
Ce n'est pas de bricolage qu'il s'agit mais de programmation et j'ai bien l'impression que tu ne mesures pas l'abîme qui sépare les deux !
j'ai de très grosse lacune et ne comprend pas bien l'essentiel de cette fonction.
Ce n'est pas une fonction mais une définition de variable.
La programmation, pour qu'elle fonctionne demande de la rigueur et pas de l'à peu près.
Le codage VBA ou autre possède une syntaxe précise comme tout langage et elle doit être respectée pour que ton logiciel comprenne ce que tu veux lui dire car si tu parles le français "comme une vache espagnole" on va essayer de traduire mais ton ordinateur ne s'y amusera jamais.
j'avais pourtant bricolé avec public i as long mais sans succès
Ce n'est pas de bricolage qu'il s'agit mais de programmation et j'ai bien l'impression que tu ne mesures pas l'abîme qui sépare les deux !
j'ai de très grosse lacune et ne comprend pas bien l'essentiel de cette fonction.
Ce n'est pas une fonction mais une définition de variable.
La programmation, pour qu'elle fonctionne demande de la rigueur et pas de l'à peu près.
Le codage VBA ou autre possède une syntaxe précise comme tout langage et elle doit être respectée pour que ton logiciel comprenne ce que tu veux lui dire car si tu parles le français "comme une vache espagnole" on va essayer de traduire mais ton ordinateur ne s'y amusera jamais.
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
12 janv. 2009 à 22:03
12 janv. 2009 à 22:03
bonsoir Gbinforme,
Merci pour ton aide précieuse, j'ai adapté à mon code et cela fonctionne. Désolé, je suis débutante, et le "bricolé" n'était pas là pour susciter ton "indignation". Je n'ai pas d'autre support que le net et les forums pour essayer de coder au mieux et je suis bien consciente de ne pas faire un programme structuré.
Je suppose que pour un programmeur mon langage doit choquer mais .....
ceci dit, peux tu m'éclairer sur la définition de la variable as long (est ce pour un chiffre ? ) et dans le cas d'une chaine de caractère, est ce également as long ou autre ?
Merci vraiment et désolé encore pour ma syntaxe.
bonne soirée,
Aurelie
Merci pour ton aide précieuse, j'ai adapté à mon code et cela fonctionne. Désolé, je suis débutante, et le "bricolé" n'était pas là pour susciter ton "indignation". Je n'ai pas d'autre support que le net et les forums pour essayer de coder au mieux et je suis bien consciente de ne pas faire un programme structuré.
Je suppose que pour un programmeur mon langage doit choquer mais .....
ceci dit, peux tu m'éclairer sur la définition de la variable as long (est ce pour un chiffre ? ) et dans le cas d'une chaine de caractère, est ce également as long ou autre ?
Merci vraiment et désolé encore pour ma syntaxe.
bonne soirée,
Aurelie
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
12 janv. 2009 à 23:12
12 janv. 2009 à 23:12
bonjour
Si tu sélectionnes "long" puis tu fais F1, tu vas avoir l'explication car tu as une mine d'explications dans l'aide excel sans aller sur le net et les forums, avec plein d'exemples.
Si en plus tu cliques sur "voir aussi" puis "résumé des types de données" toutes tes questions vont trouver leur réponse...
Si tu apprends à utiliser l'aide excel tu as instantanément beaucoup de réponses à tes questions et tu peux découvrir ainsi les propriétés des objets manipulés beaucoup mieux que sur les forums qui pourront eux te dépanner si ta recherche n'a rien donné. Ce que tu va trouver par toi même sera mieux intégré et compris.
Si tu sélectionnes "long" puis tu fais F1, tu vas avoir l'explication car tu as une mine d'explications dans l'aide excel sans aller sur le net et les forums, avec plein d'exemples.
Si en plus tu cliques sur "voir aussi" puis "résumé des types de données" toutes tes questions vont trouver leur réponse...
Si tu apprends à utiliser l'aide excel tu as instantanément beaucoup de réponses à tes questions et tu peux découvrir ainsi les propriétés des objets manipulés beaucoup mieux que sur les forums qui pourront eux te dépanner si ta recherche n'a rien donné. Ce que tu va trouver par toi même sera mieux intégré et compris.
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
18 janv. 2009 à 19:06
18 janv. 2009 à 19:06
Merci bcp Gbinform pour ton aide, très appréciée. Et aussi, d'aider les débutants.
bonne soirée,
Aurelie
bonne soirée,
Aurelie
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
18 janv. 2009 à 19:07
18 janv. 2009 à 19:07
Merci, Merci, Merci.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
18 janv. 2009 à 22:17
18 janv. 2009 à 22:17
bonjour
Cela fait énormément plaisir de voir que tu ais apprécié ce petit coup de main.
Et aussi, d'aider les débutants.
C'est bien ceux qui en ont le plus besoin car tout le monde a eu au début de la difficulté pour apprendre à marcher tout seul...
Je te remercie pour ton accueil et surtout si tu as d'autres questions n'hésites pas car sur ce forum tu trouveras quelqu'un qui saura t'aider probablement : à bientôt peut-être.
Cela fait énormément plaisir de voir que tu ais apprécié ce petit coup de main.
Et aussi, d'aider les débutants.
C'est bien ceux qui en ont le plus besoin car tout le monde a eu au début de la difficulté pour apprendre à marcher tout seul...
Je te remercie pour ton accueil et surtout si tu as d'autres questions n'hésites pas car sur ce forum tu trouveras quelqu'un qui saura t'aider probablement : à bientôt peut-être.