Ajouter feuille automatiquement au nom d'une cellule
Bonjour à tous
Je me permets de vous contacter pour la 1ere fois pour m'aider à résoudre un petit souci que je n'arrive pas à régler.
Avant toutes choses, j’espère que vous vous portez bien avec cette histoire de Coronavirus que nous traversons tous.
Voila je vous explique:
J'avais besoin pour mon travail, pour gérer les équipes dont je m'occupe, d'un fichier excel qui me permet de:
- Créer une fiche Agent avec Nom prénom .... Dans une liste.
- Créer automatiquement des feuilles aux noms des agents de cette liste avec un model prédéfini.
Tout ça je l'avais trouvé dans un fichier que j'ai téléchargé de ce site. C'est un fichier qui répondait parfaitement à mon besoin avec uniquement deux feuilles, Model et Liste. Vous allez comprendre quand vous verrez ce fichier que je vous ai mis en pièce jointe.
J'ai fais des modifications sur la feuille Model pour l'adapter à mon besoin. Pas la peine de vous expliquer que mes connaissances en Excel sont assez modestes encore plus en VB. Bref
j'ai rajouter une 1ere feuille appelée Formulaire. C'est un simple formulaire qui me permet de reprends les contenus des champs dans la feuille Liste avec un bouton et une petite Macro.
J'ai réussi presque tout sauf le champs Nom et Prénom que je n'arrive pas à faire copier. C'est là ou je fais appel à vous.
J’espère que vous pourrai m'aider. Il ne me manque que ça.
Merci bcp.
Bonjour mortajine
Oh excuse-moi , ...mais quelle horreur cette macro qui correspond à ton bouton Valider du formulaire
Tu as dû enregistrer et tu n'as pas nettoyé le code
D'autre part dans le formulaire tu as fusionné les cellules Nom (C à E ) et Prénom (G à I)
Donc
1) revois le format de ces cellules pour retirer cela
2) essaie plutôt cela
Sub Macro2()
'
' Macro2 Macro
'
Set shF = Sheets("Formulaire")
Set shL = Sheets("LISTE")
Dlig = 2 'première ligne à vérifier
Do While Not IsEmpty(shL.Range("D" & Dlig))
Dlig = Dlig + 1
Loop
shF.Range("C6").Copy shL.Cells(Dlig, 4)
shF.Range("G6").Copy shL.Cells(Dlig, 3)
shF.Range("C9").Copy shL.Cells(Dlig, 5)
shF.Range("G9").Copy shL.Cells(Dlig, 6)
shF.Range("C12").Copy shL.Cells(Dlig, 7)
shF.Range("G12").Copy shL.Cells(Dlig, 1)
shF.Range("C15").Copy shL.Cells(Dlig, 2)
shF.Rows("6").ClearContents
shF.Rows("9").ClearContents
shF.Rows("12").ClearContents
shF.Rows("15").ClearContents
End Sub
Mais cela ne me plaît pas non plus à cause de ce formulaire dans cette feuille, je ne suis pas habituée
Il faudrait que tu bloques les cellules où tu ne dois rien rentrer pour éviter des erreurs avec une saisie rapide
Autre chose, entre pseudo et prénom on perd l'encadrement et le nom se retrouve surligné en bleu ??Je préfère de loin créer un userform dans vb...
N'ai pas trop de temps
Bon courage
Bonjour mortajine
Bye