Changer nom onglet vba avec condition
Résolu
89ric
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
89ric Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
89ric Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche vainement à faire fonctionner ma macro me permettant de changer le nom de certains onglets d'un classeur excel suivant une liste établie dans une feuille "saisie" mais en cherchant les doublons.
Ma méthodes doit fonctionner mais je ne sais pas où ca bug.
Pouvez-vous m'aider?
Merci!
Sub NomFeuille()
Dim j, k As Integer
On Error Resume Next
For j = 1 To 32
If Not IsEmpty(Sheets("Saisie").Range("B" & j + 2)) Then
For k = j To 31
If Sheets("Saisie").Range("B" & j + 2) = Sheets("Saisie").Range("B" & k + 3) Then
Worksheets(j + 14).Name = Worksheets(j + 14).Range("A2") & Worksheets(j + 14).Range("C2") And Worksheets(k + 15).Name = Worksheets(k + 15).Range("A2") & Worksheets(k + 15).Range("C2")
End If
Next k
Worksheets(j + 14).Name = Worksheets(j + 14).Range("A2")
Else: Worksheets(j + 14).Name = Worksheets("Saisie").Range("B2") & j
End If
Next j
On Error GoTo 0
'Fin de la macro
End Sub
je cherche vainement à faire fonctionner ma macro me permettant de changer le nom de certains onglets d'un classeur excel suivant une liste établie dans une feuille "saisie" mais en cherchant les doublons.
Ma méthodes doit fonctionner mais je ne sais pas où ca bug.
Pouvez-vous m'aider?
Merci!
Sub NomFeuille()
Dim j, k As Integer
On Error Resume Next
For j = 1 To 32
If Not IsEmpty(Sheets("Saisie").Range("B" & j + 2)) Then
For k = j To 31
If Sheets("Saisie").Range("B" & j + 2) = Sheets("Saisie").Range("B" & k + 3) Then
Worksheets(j + 14).Name = Worksheets(j + 14).Range("A2") & Worksheets(j + 14).Range("C2") And Worksheets(k + 15).Name = Worksheets(k + 15).Range("A2") & Worksheets(k + 15).Range("C2")
End If
Next k
Worksheets(j + 14).Name = Worksheets(j + 14).Range("A2")
Else: Worksheets(j + 14).Name = Worksheets("Saisie").Range("B2") & j
End If
Next j
On Error GoTo 0
'Fin de la macro
End Sub
A voir également:
- Changer nom onglet vba avec condition
- Changer dns - Guide
- Excel cellule couleur si condition texte - Guide
- Changer nom iphone - Guide
- Changer nom pc - Guide
- Raccourci rouvrir onglet fermé - Guide
3 réponses
Bonjour,
Comme ça, à première vue, la ligne suivante semble curieuse :
Worksheets(j + 14).Name = Worksheets(j + 14).Range("A2")
Car si la liste n'est pas vide c'est cette instruction qui s'éxécute et donc la liste ne sert à rien.
Si j'ai bien compris il faut plutôt çà :
Worksheets(j + 14).Name = Worksheets("Saisie").Range("B" & j + 2)
A+
Comme ça, à première vue, la ligne suivante semble curieuse :
Worksheets(j + 14).Name = Worksheets(j + 14).Range("A2")
Car si la liste n'est pas vide c'est cette instruction qui s'éxécute et donc la liste ne sert à rien.
Si j'ai bien compris il faut plutôt çà :
Worksheets(j + 14).Name = Worksheets("Saisie").Range("B" & j + 2)
A+