Sélection par default d'un bouton de commande activX
Résolu/Fermé
mod77
Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
14 janvier 2024
-
13 juin 2017 à 12:35
yg_be Messages postés 23328 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 - 15 juin 2017 à 14:21
yg_be Messages postés 23328 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 novembre 2024 - 15 juin 2017 à 14:21
A voir également:
- Sélection par default d'un bouton de commande activX
- Invite de commande - Guide
- Commande terminal mac - Guide
- 'Pip' n’est pas reconnu en tant que commande interne ✓ - Forum Python
- Outil selection illustrator ne fonctionne pas ✓ - Forum Illustrator
- Bouton shift pc - Forum Jeux vidéo
3 réponses
mod77
Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
14 janvier 2024
53
13 juin 2017 à 12:44
13 juin 2017 à 12:44
Eh bien finalement j'ai juste rappelé sa fonction par :
Mais je ne sais pas si le code "exit" après l'appel est nécessaire?
Call cbLire_Click
Mais je ne sais pas si le code "exit" après l'appel est nécessaire?
mod77
Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
14 janvier 2024
53
Modifié le 13 juin 2017 à 23:16
Modifié le 13 juin 2017 à 23:16
Voici le code de mon bouton cbLireVote_Click():
Mais les lignes en gras m'inquiète car j'appelle dans la procédure cette même procédure.
Est-ce que je fais bien, svp? ou y a-t-il une façon plus sereine de le faire svp?
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
'Demande du numéro
num = InputBox("Entrer un numéro:", "Vote ", "0")
'Controle si numéro de feuil "Réso XX" existe déjà dans une feuille
For Each WS In Worksheets
If Left(WS.Name, 5) = "Réso " Then 'si Nomfeuil = "Réso "
If Mid(WS.Name, 6) = num Then
MsgBox (" Numéro déjà existant! Entrer un nouveau numéro svp!")
Sheets("Votes").Range("O3") = ""
Call cbLireVote_Click
Exit For 'si num existe déjà on sort de la boucle
Else
'si num n'existe pas, écrit le numéro en "O3"
Worksheets("Votes").Range("O3") = num
End If
Else 'si Nomfeuil différent de "Réso "
'Ecrit le numéro en "O3"
Worksheets("Votes").Range("O3") = num
End If 'Nom feuille
Next WS
Mais les lignes en gras m'inquiète car j'appelle dans la procédure cette même procédure.
Est-ce que je fais bien, svp? ou y a-t-il une façon plus sereine de le faire svp?
Savoir dire NON est un devoir et une force! N'ayez pas peur! L'union fait la force!
Passez en résolu si ça l'est!
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
Ambassadeur
1 551
14 juin 2017 à 18:06
14 juin 2017 à 18:06
plus serein, vite fait et pas très élégant:
'Demande du numéro debut: num = InputBox("Entrer un numéro:", "Vote ", "0") 'Controle si numéro de feuil "Réso XX" existe déjà dans une feuille For Each WS In Worksheets If Left(WS.Name, 5) = "Réso " Then 'si Nomfeuil = "Réso " If Mid(WS.Name, 6) = num Then MsgBox (" Numéro déjà existant! Entrer un nouveau numéro svp!") Sheets("Votes").Range("O3") = "" goto debut Else 'si num n'existe pas, écrit le numéro en "O3" Worksheets("Votes").Range("O3") = num End If Else 'si Nomfeuil différent de "Réso " 'Ecrit le numéro en "O3" Worksheets("Votes").Range("O3") = num End If 'Nom feuille Next WS
mod77
Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
14 janvier 2024
53
Modifié le 14 juin 2017 à 22:28
Modifié le 14 juin 2017 à 22:28
Merci yg_be,
Je ne sais pas si tu as remarqué mais au 2e Else je vais écrire autant de fois qu'il y a de feuille qui ne commence pas par "Réso ".
Y a -t-il un moyen d'éviter cela même si j'ai que 4 feuilles de nom différent?
Merci pour le "Goto" je ne connaissais pas
Je ne sais pas si tu as remarqué mais au 2e Else je vais écrire autant de fois qu'il y a de feuille qui ne commence pas par "Réso ".
Y a -t-il un moyen d'éviter cela même si j'ai que 4 feuilles de nom différent?
Merci pour le "Goto" je ne connaissais pas
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
Modifié le 14 juin 2017 à 23:33
Modifié le 14 juin 2017 à 23:33
je ne suis pas certain d'avoir compris ce que tu voulais faire, et je suggère:
Option Explicit Sub test() Dim unique As Boolean Dim num As String unique = False Do num = InputBox("Entrer un numéro:", "Vote ", "0") If existe(num) Then MsgBox (" Numéro déjà existant! Entrer un nouveau numéro svp!") Else unique = True End If Loop While Not unique Worksheets("Votes").Range("O3") = num End Sub Function existe(num As String) As Boolean Dim ws As Worksheet For Each ws In Worksheets If Left(ws.Name, 6) = "Réso " & num Then existe = True Exit Function End If Next ws existe = False End Function
mod77
Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
14 janvier 2024
53
Modifié le 15 juin 2017 à 00:35
Modifié le 15 juin 2017 à 00:35
Je pense que je me suis mal exprimé.
Ce que je veux indiquer c'est qu'il n'est pas nécessaire de réécrire plusieurs fois "num".
On peut peut-être l'éviter.
En fait, je n'avais pas précisé que je nomme les feuilles selon la valeur de "num".
C'est pour cela, qu'avant de la créer, je dois vérifier qu'une feuille ne porte pas déjà ce nom et numéro (Réso1, Réso2...) parmi les feuilles existantes.
Mais ton code est bon ça marche très bien!
Merci
Ce que je veux indiquer c'est qu'il n'est pas nécessaire de réécrire plusieurs fois "num".
On peut peut-être l'éviter.
En fait, je n'avais pas précisé que je nomme les feuilles selon la valeur de "num".
C'est pour cela, qu'avant de la créer, je dois vérifier qu'une feuille ne porte pas déjà ce nom et numéro (Réso1, Réso2...) parmi les feuilles existantes.
Mais ton code est bon ça marche très bien!
Merci
yg_be
Messages postés
23328
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 novembre 2024
1 551
>
mod77
Messages postés
1273
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
14 janvier 2024
15 juin 2017 à 14:21
15 juin 2017 à 14:21
j'avais compris, j'ai adapté le code pour éviter d'écrire num plusieurs fois.