XL pour MAC Macro qui s'exécute automatiquement

  • Initiateur de la discussion Initiateur de la discussion pilou010
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pilou010

XLDnaute Occasionnel
Bonjour,
Je joins un fichier à ma question c'est plus parlant...
En fait, j'ai fait 2 macros et je souhaiterai que la deuxième s'exécute en temps réel après la première.
C'est pas très clair, j'espère qu’avec le fichier vous identifierai ce que je souhaite faire.
Bien sûr si vous avez une autre solution je suis preneur.
Je vous remercie de vous pencher sur ma question.
Cdt
Pilou
 

Pièces jointes

Solution
Bonjour pilou01,

Il y a encore un caractère interdit c'est l'apostrophe si elle est placée à gauche ou à droite du nom.

Donc utilisez cette macro :
Code:
Sub dupliquer()
Dim interdit$, nomEvalue$, w As Worksheet, refus As Boolean, i%
interdit = "\/?*[]" 'caractères interdits
Do
    nomEvalue = InputBox("Nom du candidat", , nomEvalue)
    If nomEvalue = "" Then Exit Sub
    nomEvalue = Left(nomEvalue, 31) '31 caractères maximum
    Set w = Nothing
    On Error Resume Next: Set w = Sheets(nomEvalue): On Error GoTo 0
    refus = Not w Is Nothing
    For i = 1 To Len(interdit)
        If InStr(nomEvalue, Mid(interdit, i, 1)) Then refus = True: Exit For
    Next
Loop While refus Or Left(nomEvalue, 1) = "'" Or...
Bonsoir pilou010,

La macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code ) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Me.Name <> "Original" And [E2] <> "" And [E3] <> "" Then renommer 'lance la macro
End Sub
Elle s'exécute quand on modifie ou valide une cellule quelconque.

Nota : revoir la macro dupliquer car il y a bien sûr un bug si le nom entré est le nom d'une feuille existante.

A+
 

Pièces jointes

Bonsoir pilou010,

La macro dupliquer améliorée pour éliminer aussi les caractères interdits :
VB:
Sub dupliquer()
Dim interdit$, nomEvalue$, w As Worksheet
interdit = "\/?*[]" 'caractères interdits
Do
    nomEvalue = InputBox("Nom du candidat", , nomEvalue)
    For i = 1 To Len(interdit): nomEvalue = Replace(nomEvalue, Mid(interdit, i, 1), ""): Next 'épuration
    If nomEvalue = "" Then Exit Sub
    nomEvalue = Left(nomEvalue, 31) '31 caractères maximum
    Set w = Nothing
    On Error Resume Next: Set w = Sheets(nomEvalue): On Error GoTo 0
Loop While Not w Is Nothing
Sheets("Original").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Range("_saisie").ClearContents
ActiveSheet.Name = nomEvalue
ActiveSheet.Range("_candidat").Value = nomEvalue
End Sub
Bonne nuit.
 
Bonjour pilou01,

Il y a encore un caractère interdit c'est l'apostrophe si elle est placée à gauche ou à droite du nom.

Donc utilisez cette macro :
Code:
Sub dupliquer()
Dim interdit$, nomEvalue$, w As Worksheet, refus As Boolean, i%
interdit = "\/?*[]" 'caractères interdits
Do
    nomEvalue = InputBox("Nom du candidat", , nomEvalue)
    If nomEvalue = "" Then Exit Sub
    nomEvalue = Left(nomEvalue, 31) '31 caractères maximum
    Set w = Nothing
    On Error Resume Next: Set w = Sheets(nomEvalue): On Error GoTo 0
    refus = Not w Is Nothing
    For i = 1 To Len(interdit)
        If InStr(nomEvalue, Mid(interdit, i, 1)) Then refus = True: Exit For
    Next
Loop While refus Or Left(nomEvalue, 1) = "'" Or Right(nomEvalue, 1) = "'"
Sheets("Original").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Range("_saisie").ClearContents
ActiveSheet.Name = nomEvalue
ActiveSheet.Range("_candidat").Value = nomEvalue
End Sub
Edit : il est mieux de ne pas supprimer les caractères interdits, c'est à l'utilisateur de le faire.

A+
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
389
Réponses
6
Affichages
204
Réponses
40
Affichages
1 K
Retour