Erreur exécution 424

Bonjour,

J’ai un message d’erreur lorsque j’exécute la macro « duplic » qui est affecté au bouton nouveau salarié.

J’ai récupéré des bouts de codes sur le net pour essayer de m’en sortir avec ce fichier. Ça fonctionne bien mais par contre a la fin j’ai une erreur que je ne sais pas, forcement, résoudre.

Merci à ceux qui arriveront à me dépanner.

10test-6.xlsm (110.22 Ko)

Bonjour,

essais en remplaçant la ligne qui plante par :

Cells(Range("A65536").End(xlUp).Row + 1, 1) = x

Tiens moi au jus si c'est ok

-Stif-

Une piste pour renseigner aussi le prénom et le secteur en mettant dans l'imputbox "nom prénom secteur".

[Sub duplic()
Dim x
'InputBox ("Nom du nouveau Salarié")

x = InputBox("Nom prénom et secteur du nouveau salarié")
If x = "" Then 'si bouton annuler ou croix rouge cliqué
    MsgBox "Aucun salarié entré ! "
    Exit Sub 'sort de la procédure
Else
    Worksheets("modele").Select
    Range("b4").Value = Split(x, " ")(0) 'mets le résultat en cellule b4 de la feuille modele
    Range("b5").Value = Split(x, " ")(1)
    Range("D5").Value = Split(x, " ")(2)
End If

'duplique et renome la feuille "modele"
Worksheets("modele").Copy After:=Sheets(Worksheets.Count)
Set MySheet = ActiveSheet
With MySheet
  .Name = Split(x, " ")(0) & " " & Split(x, " ")(1)
End With
Worksheets("accueil").Select
'Range("A1").End(xlDown).Offset(1, 0) = x.Value
Cells(Range("A65536").End(xlUp).Row + 1, 1) = Split(x, " ")(0)
Cells(Range("B65536").End(xlUp).Row + 1, 2) = Split(x, " ")(1)
Cells(Range("C65536").End(xlUp).Row + 1, 3) = Split(x, " ")(2)

End Sub

Bonjour,

La première chose à faire est d'éliminer les Select...

Sub duplic()
    Dim x$
    x = InputBox("Nom du nouveau salarié")
    If x = "" Then MsgBox "Aucun salarié entré !": Exit Sub
    Worksheets("modele").Copy After:=Worksheets(Worksheets.Count)
    With ActiveSheet
        .Name = x
        .Range("B4") = x
    End With
    With Worksheets("accueil").Range("A1").End(xlDown)(2)
        .Value = x
        .Worksheet.Activate
        .Select
    End With
End Sub

avec quelques petits aménagements de plus :

On laisse la feuille modele en l'état pour la suite (il sera d'ailleurs judicieux de la masquer, la rendre visible pour la copie et la remasquer ensuite...)

On la copie et on travaille sur la copie, devenue automatiquement la feuille active : on nomme, on affecte la valeur de B4.

On cible ensuite la première ligne vide de A dans accueil (sans l'activer ou la sélectionner) : on affecte le nom (à partir de la variable), on peut alors activer la feuille et sélectionner la cellule pour passer la main à l'utilisateur...

Autres conseils : ne pas multiplier les modules standard, un suffit amplement tant qu'on n'a pas de code dont la nature nécessite de ne pas le mélanger dans un même module que le reste, et indenter son code si l'on veut pouvoir travailler efficacement dessus.

Cordialement.

Merci a vous deux c'est cool c'est exactement ce que je voulais faire.

Enfin non c'est encore mieux que ce que je voulais faire.

Merci beaucoup..

J’ai encore une petite, et je pense, dernière requête.

J’ai caché les onglets comme conseillé. Mais serait-il possible dans la macro « duplic » qu’en cliquant sur le nom qui a été créé sur la page accueil d’ouvrir la feuille du salarié.

Je pourrais afficher les onglets et le faire manuellement mais au point ou j’en suis (pardon ou vous en êtes) je me dis qu’a la suite de la macro ça pourrait se faire automatiquement.

Merci

2test-6.xlsm (181.47 Ko)

je parlais d'un lien hypertext

Voilà qui devrait répondre à ta demande.

-Stif-

5test-6.xlsm (185.04 Ko)

Bon ben voila c'est tout a fait ça tout est parfait.

Merci beaucoup.

Ce forum est vraiment super. C'est un peu "le forum Excel pour les nuls" lol

Merci encore

Rechercher des sujets similaires à "erreur execution 424"