OVH Cloud OVH Cloud

Vérifie le nom

3 réponses
Avatar
Alpha
Salut,
Je souhaite en VBA faire une copie d'une feuille "exemple" mais j'aimerais
que le nom soit "exemple1", sauf si cette feuille existe déjà alors le nom
serais "exemple2", sauf si cette feuille existe déjà alors le nom serais
"exemple3" etc.
Je suis sur que qq à la réponse, merci ^_^

3 réponses

Avatar
Régis
Salut,

Essaye ceci, en espérant que ça répond à ton besoin.
Sub NomFeuil()
For I = 1 To 2 'Le 2 correspond au nombre de copie
que tu souhaite faire de ta feuille matrice
ActiveSheet.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Exemple " & Format(I, "00")
Next I
End Sub
-----Message d'origine-----
Salut,
Je souhaite en VBA faire une copie d'une
feuille "exemple" mais j'aimerais

que le nom soit "exemple1", sauf si cette feuille existe
déjà alors le nom

serais "exemple2", sauf si cette feuille existe déjà
alors le nom serais

"exemple3" etc.
Je suis sur que qq à la réponse, merci ^_^



.



Avatar
Chris MICHEL
Bonjour,

essaie ça:

Sub copy_and_check_name()

Sheets("exemple").Copy After:=Sheets(Sheets.Count)

Dim i, nb As Integer

nb = 0

For i = 1 To Sheets.Count
If Left(Sheets(i).Name, 7) = "exemple" Then nb =
nb + 1
Next

ActiveSheet.Name = "exemple" & nb - 1

End Sub

Chris.
-----Message d'origine-----
Salut,
Je souhaite en VBA faire une copie d'une
feuille "exemple" mais j'aimerais

que le nom soit "exemple1", sauf si cette feuille existe
déjà alors le nom

serais "exemple2", sauf si cette feuille existe déjà
alors le nom serais

"exemple3" etc.
Je suis sur que qq à la réponse, merci ^_^



.



Avatar
ChrisV
Bonjour Alpha,

Sub zaza()
Dim nb As Integer, i As Integer, acS As String
Application.ScreenUpdating = False
acS = ActiveSheet.Name
On Error Resume Next
If Worksheets("Exemple") Is Nothing Then
MsgBox "La feuille ""Exemple"" n'existe pas...!"
Exit Sub
End If
For i = 1 To Sheets.Count
If Sheets(i).Name Like "Exemple*" Then
nb = Mid(Sheets(i).Name, 1 + Application.Find(" ", _
Sheets(i).Name, 9 ^ 9))
nb = 1 + nb
End If
Next i
Sheets("Exemple").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Exemple " & nb
Sheets(acS).Select
End Sub


ChrisV


"Alpha" a écrit dans le message de news:
4020ee33$0$6970$
Salut,
Je souhaite en VBA faire une copie d'une feuille "exemple" mais j'aimerais
que le nom soit "exemple1", sauf si cette feuille existe déjà alors le nom
serais "exemple2", sauf si cette feuille existe déjà alors le nom serais
"exemple3" etc.
Je suis sur que qq à la réponse, merci ^_^