Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie de feuille en VBA

  • Initiateur de la discussion Initiateur de la discussion emim444
  • 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 !

E

emim444

Guest
Bonjour,
j'ai créé un petit programme vba qui permet de copier un modèle et d'affecter un nom à la feuille copiée. Mais je n'arrive pas à faire un programme qui reconnaisse le nom de la feuille, et vu qu'il est indentique, l'incrémente de 1. Voilà ce que j'ai fait pour le moment,

Dim i As Integer
Dim nom As String
Dim prenom As String
i = i + 1

ActiveWorkbook.Save
nom = InputBox("quel est le nom du client?", "Nom Client")
prenom = InputBox("quel est le prénom du client?", "Prénom Client")
Sheets("Questionnaire Risque MODELE").Copy After:=Sheets(ThisWorkbook.Sheets.Count)

If Sheets(ThisWorkbook.Sheets.Count).Name = "2007" & " " & nom & " " & prenom <> Sheets(ThisWorkbook.Sheets.Count).Name = "2007" & " " & nom & " " & prenom Then
Sheets(ThisWorkbook.Sheets.Count).Name = "2007" & " " & nom & " " & prenom & i

Else

Sheets(ThisWorkbook.Sheets.Count).Name = "2007" & " " & nom & " " & prenom

end if...
merci pour votre aide...
 
Re : Copie de feuille en VBA

Bonsoir emim444,

Si j'ai bien compris, voici une façon de faire :
Code:
[SIZE=2][COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Sub[/COLOR] Test()
[COLOR=NAVY]Dim[/COLOR] nom [COLOR=NAVY]As String
Dim[/COLOR] prenom [COLOR=NAVY]As String[/COLOR]
    ActiveWorkbook.Save
    nom = InputBox("quel est le nom du client?", "Nom Client")
    prenom = InputBox("quel est le prénom du client?", "Prénom Client")
    Sheets("Questionnaire Risque MODELE").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
    ActiveSheet.Name = NomFeuille("2007" & " " & nom & " " & prenom)
    [COLOR=GREEN]' ...[/COLOR]
    [COLOR=GREEN]' ...[/COLOR]
[COLOR=NAVY]End Sub[/COLOR]

[COLOR=NAVY]Private Function[/COLOR] NomFeuille([COLOR=NAVY]ByVal[/COLOR] T [COLOR=NAVY]As String[/COLOR]) [COLOR=NAVY]As String[/COLOR]
[COLOR=GREEN]'myDearFriend! - www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Dim[/COLOR] F [COLOR=NAVY]As[/COLOR] Worksheet
[COLOR=NAVY]Dim[/COLOR] NouvT [COLOR=NAVY]As String
Dim[/COLOR] N [COLOR=NAVY]As Byte
    Do[/COLOR]
[/SIZE][SIZE=2]        [COLOR=NAVY]Set[/COLOR] F = [COLOR=NAVY]Nothing
[/COLOR][/SIZE][SIZE=2]        NouvT = T & IIf(N > 0, N, "")
[COLOR=NAVY]        On Error Resume Next
        Set[/COLOR] F = Worksheets(NouvT)
        [COLOR=NAVY]On Error GoTo[/COLOR] 0
        N = N + 1
    [COLOR=NAVY]Loop Until[/COLOR] F [COLOR=NAVY]Is Nothing[/COLOR]
    NomFeuille = NouvT
[COLOR=NAVY]End Function[/COLOR][/SIZE]
Cordialement,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
880
Réponses
5
Affichages
609
Réponses
3
Affichages
645
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…