salut à tous,
voila, j'ai deux problèmes :
je lance une macro qui pose une question à l'utilisateur, celui ci répond
par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui",
une autre macro doit se lancer. cependant, après la réponse "oui", ma macro
ne se lance pas, pouvez vous m'aider svp?
Mon autre problème est le suivant:
je lance automatiquement la création d'un feuille à chaque démarrage d'une
macro, ces nouvelles feuilles ont toutes un nom différent.
J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur
apparaisse au lieu d'avoir une insertion d'une "feuille (2)".
voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
Bonjour,
pour la ere question, quel type d'interface utilises-tu pour poser ta question ? un msgbox utilisé comme fnction sait faire ce genre de chose sans difficulté.
pour la 2eme question, avant la création de ta feuille si on suppose que tu veux lui donner le nom toto qui existe déjà, il suffit de faire une boucle
ici en supposant que c'est sur la classeur actif que tu veux créer la feuille en question
For each sh in Activeworkbook.Sheets if sh.name="toto" then Msgbox "cette feuille existe déjà. Veuillez changer de nom" exit for ' (ou exit sub si tu veux carrément sortir du programme) end if next
A+
salut à tous, voila, j'ai deux problèmes : je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp? Mon autre problème est le suivant: je lance automatiquement la création d'un feuille à chaque démarrage d'une macro, ces nouvelles feuilles ont toutes un nom différent. J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur apparaisse au lieu d'avoir une insertion d'une "feuille (2)". voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
Bonjour,
pour la ere question, quel type d'interface utilises-tu pour poser ta
question ? un msgbox utilisé comme fnction sait faire ce genre de chose
sans difficulté.
pour la 2eme question, avant la création de ta feuille si on suppose que
tu veux lui donner le nom toto qui existe déjà, il suffit de faire une
boucle
ici en supposant que c'est sur la classeur actif que tu veux créer la
feuille en question
For each sh in Activeworkbook.Sheets
if sh.name="toto" then
Msgbox "cette feuille existe déjà. Veuillez changer de nom"
exit for ' (ou exit sub si tu veux carrément sortir du programme)
end if
next
A+
salut à tous,
voila, j'ai deux problèmes :
je lance une macro qui pose une question à l'utilisateur, celui ci répond
par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui",
une autre macro doit se lancer. cependant, après la réponse "oui", ma macro
ne se lance pas, pouvez vous m'aider svp?
Mon autre problème est le suivant:
je lance automatiquement la création d'un feuille à chaque démarrage d'une
macro, ces nouvelles feuilles ont toutes un nom différent.
J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur
apparaisse au lieu d'avoir une insertion d'une "feuille (2)".
voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
pour la ere question, quel type d'interface utilises-tu pour poser ta question ? un msgbox utilisé comme fnction sait faire ce genre de chose sans difficulté.
pour la 2eme question, avant la création de ta feuille si on suppose que tu veux lui donner le nom toto qui existe déjà, il suffit de faire une boucle
ici en supposant que c'est sur la classeur actif que tu veux créer la feuille en question
For each sh in Activeworkbook.Sheets if sh.name="toto" then Msgbox "cette feuille existe déjà. Veuillez changer de nom" exit for ' (ou exit sub si tu veux carrément sortir du programme) end if next
A+
salut à tous, voila, j'ai deux problèmes : je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp? Mon autre problème est le suivant: je lance automatiquement la création d'un feuille à chaque démarrage d'une macro, ces nouvelles feuilles ont toutes un nom différent. J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur apparaisse au lieu d'avoir une insertion d'une "feuille (2)". voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
Clément Marcotte
Bonjour,
je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp?
En principe, cela peut se faire avec une InputBox()
À la volée et non testé. L'ordre peut varier dans l'InputBox
sub OnContinueOuOnArrête() dim reponse reponse = inputbox("Voulez vous pousuivre le traitement ?", vbyesno) select case reponse case vbyes 'mettre ici le nom de l'autre macro case vbno end case else end select end sub
Bonjour,
je lance une macro qui pose une question à l'utilisateur, celui ci répond
par oui ou non. Si il répond "non", il ne se passe rien; si il répond
"oui",
une autre macro doit se lancer. cependant, après la réponse "oui", ma
macro
ne se lance pas, pouvez vous m'aider svp?
En principe, cela peut se faire avec une InputBox()
À la volée et non testé. L'ordre peut varier dans l'InputBox
sub OnContinueOuOnArrête()
dim reponse
reponse = inputbox("Voulez vous pousuivre le traitement ?", vbyesno)
select case reponse
case vbyes
'mettre ici le nom de l'autre macro
case vbno
end
case else
end select
end sub
je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp?
En principe, cela peut se faire avec une InputBox()
À la volée et non testé. L'ordre peut varier dans l'InputBox
sub OnContinueOuOnArrête() dim reponse reponse = inputbox("Voulez vous pousuivre le traitement ?", vbyesno) select case reponse case vbyes 'mettre ici le nom de l'autre macro case vbno end case else end select end sub
JLuc
*Bonjour picmin*,
salut à tous, voila, j'ai deux problèmes : je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp? reponse = Inputbox("Votre choix ?
If reponse = 1 Then mamacro End If
Mon autre problème est le suivant: je lance automatiquement la création d'un feuille à chaque démarrage d'une macro, ces nouvelles feuilles ont toutes un nom différent. J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur apparaisse au lieu d'avoir une insertion d'une "feuille (2)". Quand on insere une feuille, le nom de cette derniere est : Feuil4,
Feuil5, Feuil6... mais jamais Feuil1(2). Ce nom apparait si on copie la feuille uniquement. J'en deduis donc que c'est une copie d'une feuille existante : ActiveSheet.Name = "Toto" devrait faire l'affaire ?
voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour picmin*,
salut à tous,
voila, j'ai deux problèmes :
je lance une macro qui pose une question à l'utilisateur, celui ci répond
par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui",
une autre macro doit se lancer. cependant, après la réponse "oui", ma macro
ne se lance pas, pouvez vous m'aider svp?
reponse = Inputbox("Votre choix ?
If reponse = 1 Then
mamacro
End If
Mon autre problème est le suivant:
je lance automatiquement la création d'un feuille à chaque démarrage d'une
macro, ces nouvelles feuilles ont toutes un nom différent.
J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur
apparaisse au lieu d'avoir une insertion d'une "feuille (2)".
Quand on insere une feuille, le nom de cette derniere est : Feuil4,
Feuil5, Feuil6... mais jamais Feuil1(2). Ce nom apparait si on copie la
feuille uniquement. J'en deduis donc que c'est une copie d'une feuille
existante : ActiveSheet.Name = "Toto" devrait faire l'affaire ?
voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci
d'avance.
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
salut à tous, voila, j'ai deux problèmes : je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp? reponse = Inputbox("Votre choix ?
If reponse = 1 Then mamacro End If
Mon autre problème est le suivant: je lance automatiquement la création d'un feuille à chaque démarrage d'une macro, ces nouvelles feuilles ont toutes un nom différent. J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur apparaisse au lieu d'avoir une insertion d'une "feuille (2)". Quand on insere une feuille, le nom de cette derniere est : Feuil4,
Feuil5, Feuil6... mais jamais Feuil1(2). Ce nom apparait si on copie la feuille uniquement. J'en deduis donc que c'est une copie d'une feuille existante : ActiveSheet.Name = "Toto" devrait faire l'affaire ?
voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
michdenis
Bonjour Picmin,
Voici une procédure pour ajouter une feuille sans doublons !
'-------------------------------- Sub Test()
Dim Ok As Boolean Dim Arr As Variant, Elt As Variant Dim NomFeuille As Variant Dim NbSheets As Integer NbSheets = ThisWorkbook.Sheets.Count
Arr = Array("[", "]", ">", "<", "*", "?", ":") Do Ok = False NomFeuille = Application.InputBox("insérer le nom de la nouvelle feuille.", _ "Nom de la feuille", , , , , , 2) If NomFeuille = False Then Exit Sub If Len(NomFeuille) > 31 Then MsgBox "Nom de la feuille a trop long. 31 caractères." Ok = True End If For Each Elt In Arr If InStr(1, NomFeuille, Elt, vbTextCompare) <> 0 Then MsgBox "Caractère interdit """ & Elt & _ """ dans le nom de la feuille." Ok = True End If Next
'Est-ce que le nom existe déjà ? For a = 1 To NbSheets If UCase(Sheets(a).Name) = UCase(NomFeuille) Then MsgBox "Ce nom existe déjà." Ok = True End If Next Loop Until Ok = False
Worksheets.Add.Name = NomFeuille End Sub '--------------------------------
Salutations!
"picmin" a écrit dans le message de news: salut à tous, voila, j'ai deux problèmes : je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp? Mon autre problème est le suivant: je lance automatiquement la création d'un feuille à chaque démarrage d'une macro, ces nouvelles feuilles ont toutes un nom différent. J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur apparaisse au lieu d'avoir une insertion d'une "feuille (2)". voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
Bonjour Picmin,
Voici une procédure pour ajouter une feuille sans doublons !
'--------------------------------
Sub Test()
Dim Ok As Boolean
Dim Arr As Variant, Elt As Variant
Dim NomFeuille As Variant
Dim NbSheets As Integer
NbSheets = ThisWorkbook.Sheets.Count
Arr = Array("[", "]", ">", "<", "*", "?", ":")
Do
Ok = False
NomFeuille = Application.InputBox("insérer le nom de la nouvelle feuille.", _
"Nom de la feuille", , , , , , 2)
If NomFeuille = False Then Exit Sub
If Len(NomFeuille) > 31 Then
MsgBox "Nom de la feuille a trop long. 31 caractères."
Ok = True
End If
For Each Elt In Arr
If InStr(1, NomFeuille, Elt, vbTextCompare) <> 0 Then
MsgBox "Caractère interdit """ & Elt & _
""" dans le nom de la feuille."
Ok = True
End If
Next
'Est-ce que le nom existe déjà ?
For a = 1 To NbSheets
If UCase(Sheets(a).Name) = UCase(NomFeuille) Then
MsgBox "Ce nom existe déjà."
Ok = True
End If
Next
Loop Until Ok = False
Worksheets.Add.Name = NomFeuille
End Sub
'--------------------------------
Salutations!
"picmin" <picmin@discussions.microsoft.com> a écrit dans le message de news: 5925E944-4184-4F91-8A09-DF4CAAFADBB3@microsoft.com...
salut à tous,
voila, j'ai deux problèmes :
je lance une macro qui pose une question à l'utilisateur, celui ci répond
par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui",
une autre macro doit se lancer. cependant, après la réponse "oui", ma macro
ne se lance pas, pouvez vous m'aider svp?
Mon autre problème est le suivant:
je lance automatiquement la création d'un feuille à chaque démarrage d'une
macro, ces nouvelles feuilles ont toutes un nom différent.
J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur
apparaisse au lieu d'avoir une insertion d'une "feuille (2)".
voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.
Voici une procédure pour ajouter une feuille sans doublons !
'-------------------------------- Sub Test()
Dim Ok As Boolean Dim Arr As Variant, Elt As Variant Dim NomFeuille As Variant Dim NbSheets As Integer NbSheets = ThisWorkbook.Sheets.Count
Arr = Array("[", "]", ">", "<", "*", "?", ":") Do Ok = False NomFeuille = Application.InputBox("insérer le nom de la nouvelle feuille.", _ "Nom de la feuille", , , , , , 2) If NomFeuille = False Then Exit Sub If Len(NomFeuille) > 31 Then MsgBox "Nom de la feuille a trop long. 31 caractères." Ok = True End If For Each Elt In Arr If InStr(1, NomFeuille, Elt, vbTextCompare) <> 0 Then MsgBox "Caractère interdit """ & Elt & _ """ dans le nom de la feuille." Ok = True End If Next
'Est-ce que le nom existe déjà ? For a = 1 To NbSheets If UCase(Sheets(a).Name) = UCase(NomFeuille) Then MsgBox "Ce nom existe déjà." Ok = True End If Next Loop Until Ok = False
Worksheets.Add.Name = NomFeuille End Sub '--------------------------------
Salutations!
"picmin" a écrit dans le message de news: salut à tous, voila, j'ai deux problèmes : je lance une macro qui pose une question à l'utilisateur, celui ci répond par oui ou non. Si il répond "non", il ne se passe rien; si il répond "oui", une autre macro doit se lancer. cependant, après la réponse "oui", ma macro ne se lance pas, pouvez vous m'aider svp? Mon autre problème est le suivant: je lance automatiquement la création d'un feuille à chaque démarrage d'une macro, ces nouvelles feuilles ont toutes un nom différent. J'aimerais que si le nom d'une feuille existe déjà, un message d'erreur apparaisse au lieu d'avoir une insertion d'une "feuille (2)". voila mes problèmes, si vous avez des idées,n'hésitez pas svp. Merci d'avance.