Vba userform creer des boutons

pasquetp

XLDnaute Occasionnel
Bonjour,

je fais appel a vos connaissances pour resoudre un probleme qui persiste. Je cherche a creer des boutons comme c'est ecrit mais pas comme vous l'imaginez. je sais faire les boutons via la boite a outil. ce que je recherche a creer c'est des boutons lorsque je clique bouton droit de la souris. c'est a dire creer mes propres options. en voyant mon fichier excel on voit que ca marche. ce que je veux vraiment est: que j'ai une liste en ciblant un des deux boutons que vous verrez.

exemple: si vous utiisez excel 2000 ou 2003 qd je clique sur outil, j'ai une liste doptions. he bien c'est exactement ce type de truc que je veux.

pouvez vous maider

merci
 

Pièces jointes

  • Classeur1.xls
    42 KB · Affichages: 332
  • Classeur1.xls
    42 KB · Affichages: 339
  • Classeur1.xls
    42 KB · Affichages: 327

Hippolite

XLDnaute Accro
Re : Vba userform creer des boutons

Bonjour Bruno,

ce n'est pas aider les gens que de leur faire du tout cuit
c'est les inciter à rester ou devenir faignant
Je partage tout à fait ton point de vue.
Il reste des adaptations à faire, le besoin exprimé n'étant pas précis.

Je me suis fait un petit plaisir à découvrir l'adressage indirect des Combobox dans une feuille, cela aurait été dommage que ça ne serve pas. Cela me permettra également de le retrouver ultérieurement.

Cordialement
Hippolite
 

mdag

XLDnaute Nouveau
Re : Vba userform creer des boutons

@hippolite, merci beaucoup
je n'ai pas regardé encore car un autre membre de ce forum me donnait des cours par mail donc j'ai progresser de mon coté pour pouvoir deja comprendre le language vba. je pense avoir bien progresser vu que je suis presque a la fin de mon dossier qui a pris une tout autre tournure. je fais mes choix a l'aide de bouton mais ce n'est pas encore au point. je vais donc regarder ton fichier et voir dans un premier temps ce que j'y comprend et dans un second de voir si je peux l'adapter a mon nouveau fichier.
car pour le moment, je n'arrive pas encore a mettre un lien entre mes différent bouton . c'est a dire que quand je selectionne une région avec un bouton et que je selectionne un type d'aide avec un autre bouton, la deuxieme opération annule la première donc je bosses la dessus et je vais bosser sur ton programme pour voir si je peux melanger les deux.
encore merci pour l'aide que tu m'as apporté et dsl si tu t'es fait remonter les bretelles par ma faute.
@brunom45: si je demande de l'aide via ce forum c'est que j'ai déja cherché ailleurs. j'ai demandé de l'aide a une autre personne du forum qui m'a donné des cours par mail et qui mon fait progresser beaucoup plus vite qu'en cherchant dans cette immense base de données. car une base de données c'est bien a exploiter quand on sait ce qu'on cherche et quand on est vraiment débutant ben c'est un puit sans fond.
je te laisse rester persuader que je suis un fainéant et te souhaite une bonne journée.
encore merci hippolite je te tiens au jus de ma compréhension de ton code
A+
THE fainéant!!! :)
mdag
 
Dernière édition:

mdag

XLDnaute Nouveau
Re : Vba userform creer des boutons

RE le fil, hipollite et bruno.
Sub Afficher_national_et_rhones_alpes()
Application.ScreenUpdating = False ' evite le rafraichissement de l'écran ( gain de temps )
For i = 130 To 7 Step -1
If Cells(i, 1).Value <> "national" And Cells(i, 1).Value <> "Rhones alpes" Then Rows(i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = False
End Sub
j'ai réussi a crée cette maccro pour sélectionner les lignes ou il y a soit national soit rhone alpes dans la colonne 1 (grace a dulpapsyl...)
maintenant j'aimerais soit crée un bouton de plus qui sélectionne dans les lignes de cette première sélection un mots. je sais sélectionner un mots dans une colonne et afficher la ligne ou il apparait mais je ne sais pas relier cette sélection a la précédente.
soit crée un bouton qui sélectionne directement national et rhones alpes dans la première colonne et un mots dans la deuxieme colonne puis afficher la ligne. pour cette deuxieme option, j'ai crée une macro mais elle ne marche pas. pourriez vous me dire ou ça bloque.

Sub Afficher_national_et_rhones_alpes()
Application.ScreenUpdating = False
For i = 130 To 7 Step -1
If Cells(i, 1).Value <> "national" And Cells(i, 1).Value <> "Rhones alpes" and cells(i,2).value <> "investissement" Then Rows(i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = False
End Sub
je ne comprend pas pourquoi celle la ne marche pas.
bonne soirée
A+
mdag
THE fainéant (mais un peu moins que avant) :)
 
C

Compte Supprimé 979

Guest
Re : Vba userform creer des boutons

Bonjour le fil,
Bonjour Mdag,
je te laisse rester persuader que je suis un fainéant et te souhaite une bonne journée.
Comme on dit par chez moi : il n'y a que ceux qui se sentent morveux, qui se mouchent ...

Je ne t'incriminais pas forcément, je faisait juste une petite remarque à Hippolite ;)

Je vois trop souvent sur ce forum, des quidams, qui se laissent porter par ce qu'on leur donne ... et ne font aucun effort dans la tentative de compréhension

Sans rancune, j'espère :)
 

Hippolite

XLDnaute Accro
Re : Vba userform creer des boutons

Re,
Une petite erreur de logique, essaie avec un OU pour la dernière condition :
Code:
If Cells(i, 1).Value <> "national" And Cells(i, 1).Value <> "Rhones alpes" OR cells(i,2).value <> "investissement" Then Rows(i).EntireRow.Hidden = True
 

mdag

XLDnaute Nouveau
Re : Vba userform creer des boutons

bonjour au fil, au forum, a hippolite et a brunom45.
je n'arrive toujours pas a bien écrire mes code.
maintenant j'ai crée un code pour la région et un pour le type d'aide mais ils ne sont toujours pas relié.
pour faire un seul bouton les deux conditions ne marche pas , je ne comprend pas pourquoi.
ah si je crois avoir compris, il faut que les terme dans le cod soit strictement identique a ceux de la bd (les espace et les majuscule comprise) c'est ça???
Sub Afficher_national_et_rhones_alpes_invest()
Application.ScreenUpdating = False ' evite le rafraichissement de l'écran ( gain de temps )
For i = 150 To 12 Step -1
If Cells(i, 1).Value <> "national" And Cells(i, 1).Value <> "Rhone alpes" And Cells(i, 2).Value <> "investissement" Then Rows(i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub

par contre celui la ne marche toujours pas. il faut que ça affiche les lignes ou dans la colonne 1 il y a soit le terme national soit le terme rhone alpes et qu'il y ait le therme investissement dans la deuxième colonne. pourtant j'ai essayé tout vos truc mais sa ne marche pas.
merci de votre aide
A+
mdag
@brunom45:ya pas de soucis et je comprend mais on peux ce taquiner un peu!!!ça na jamais fait de mal a personne de taquiner l'autre tout en acceptant la taquinerie.
mais par contre j'ai vraiment besoin d'aide. je pensais etre arrivé a la fin en ayant crée mes boutons mais vu ke chaque sélection ne prend pas en compte l'autre ben ça ne sers a rien. help!!!!
je vous envoi un fichier pour que vous puissiez voir ce que j'ai fait et me dire ou ça beug.
 

Pièces jointes

  • ébauche de dossier avec tri automatique.zip
    25.4 KB · Affichages: 25
  • ébauche de dossier avec tri automatique.zip
    25.4 KB · Affichages: 26
  • ébauche de dossier avec tri automatique.zip
    25.4 KB · Affichages: 25

Hippolite

XLDnaute Accro
Re : Vba userform creer des boutons

Bonjour,

Je regarderai ton fichier plus tard, mais je peux déja te dire :

il faut que les terme dans le cod soit strictement identique a ceux de la bd (les espace et les majuscule comprise) c'est ça???
Oui, sinon pour les espaces ou si on compare à un terme "qui contient", il faut utiliser les caractères de défaut * %, Pour s'affranchir de la casse on peut utiliser au choix les fonctions Ucase, Lcase, WorksheetFunction.Proper ou StrConv(string,vbProperCase)...

par contre celui la ne marche toujours pas
Je t'avais signalé qu'il y a un And à remplacer par OR.

mais vu ke chaque sélection ne prend pas en compte l'autre ben ça ne sers a rien.
Je vois deux façons de procéder :
1- faire un sous-programme qui lance le filtrage en fonction de l'ensemble des critères sélectionnés. c'est le choix que j'avais retenu dans mon fichier.
2- Faire les choix et les filtres les uns après les autres à partir des lignes visibles seulement. C'est une solution d'éliminations successives, qui présente l'inconvénient de ne pas pouvoir revenir en arrière pour changer un critère.

A+
 

Hippolite

XLDnaute Accro
Re : Vba userform creer des boutons

Re,

Ci-joint ton fichier avec corrections commentées.

Il ne manquait pas grand chose pour que cela fonctionne (le grain de sable qui bloque tout, comme toujours quand on écrit du code !)
Tu avais surtout oublié de réinitialiser les lignes en visibles avant de filtrer et tu t'arrêtais à la ligne 13 au lieu de 8.

Tous mes encouragements au débutant !

A+
 

Pièces jointes

  • ébauche de dossier avec tri automatique_C1.zip
    26 KB · Affichages: 38

mdag

XLDnaute Nouveau
Re : Vba userform creer des boutons

re,
quand tu mets ce code:
Rows(i).EntireRow.Hidden = False 'Ajouté réinitialisation, sinon tu travailles seulement sur ce qui est visible
ça veut dire que tu travaille sur la bd totale. donc si tu ne le met pas tu fais ton tri uniquement sur la sélection faite avec le premier bouton???
si c'est ça ça serais nikel!!! je vois enfin le bout du tunnel pour ce dossier
et si je mets le bouton sur une autre feuille, il suffit que je mettes "feuille1"activate. normalement ça je sais le faire. merci beaucoup!!!
mdag
 

mdag

XLDnaute Nouveau
Re : Vba userform creer des boutons

re,
Sub Afficher_depuis_3_haute_savoie_invest_or_good()
Sheets("feuil1").Activate
Application.ScreenUpdating = False ' evite le rafraichissement de l'écran ( gain de temps )
For i = 150 To 12 Step -1
If Cells(i, 1).Value <> "national" And Cells(i, 1).Value <> "rhone alpes" And Cells(i, 1).Value <> "haute savoie" Or Cells(i, 2).Value <> "investissement" Then Rows(i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
j'ai crée ce code afin de mettre mes boutons dans une autre feuille. le problème est que quand je clique dessus, ça me montre directement le résultat. il faudrait donc changer activate par...pour que je puisse faire toute ma sélection dans la feuille ou il y aura le bouton et faire un autre bouton "voir résultat" pour aller sur la feuille de la base de donnée déja trié.
merci beaucoup j'ai vraiment hate d'avoir ta reponse pour essayer t solution. car vba est vraiment prenant au bout d'un moment . et dire que je ne sais encore rien faire avec!!!
merci
A+
 

Hippolite

XLDnaute Accro
Re : Vba userform creer des boutons

Re,
Tu n'as pas besoin d'activer Feuil1, tu utilises le nom des cellules avec leur nom de feuille et tu resteras sur ta feuille initiale :
Code:
Sub haute_savoie()
Application.ScreenUpdating = False ' evite le rafraichissement de l'écran ( gain de temps )
For i = 150 To 7 Step -1 'remplacé 12 par 7
Sheets("feuil1").Rows(i).EntireRow.Hidden = False 'Ajouté réinitialisation, sinon tu travailles seulement sur ce qui est visible
If Sheets("feuil1").Cells(i, 1).Value <> "national" And Sheets("feuil1").Cells(i, 1).Value <> "haute savoie" Then Sheets("feuil1").Rows(i).EntireRow.Hidden = True ' supprimé And Cells(i, 1).Value <> "rhone alpes"
Next i
Application.ScreenUpdating = True
End Sub
A+
 

mdag

XLDnaute Nouveau
Re : Vba userform creer des boutons

bonjour le forum, le fil et hippolite,
merci beaucoup de toute l'aide que vous m'avez apporté.
mon dossier est quasiment bouclé mais il me reste un petit probleme.
sais-tu si on peut fixer un bouton dans une cellule???
j'avais mis des bouton dans toutes une colonne mais quand je fais une selection, les bouton reste et s'entasse sur les lignes selectionner. je sais pas si j'ai été clair.
par exemple, j'ai mis un bouton en E6, en E7 et en E8. si dans ma selection, les lignes 6et 7 sont masquer, les boutons ce retrouve tous en E8.
je ne sais pas si c'est possible
merci
A+
mdag
 

Discussions similaires

Réponses
17
Affichages
748

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 378
dernier inscrit
phdrouart