Changer nom onglet vba avec condition
Résolu
89ric
Messages postés
10
Statut
Membre
-
89ric Messages postés 10 Statut Membre -
89ric Messages postés 10 Statut Membre -
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
- Changer nom iphone - Guide
- Excel cellule couleur si condition texte - Guide
- Changer nom pc - Guide
- Rouvrir onglet fermé chrome - 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+