Hello
J'ai pas réussi à coder ta solution.
Par contre j'ai eu une idée qui m'a semblé intéressante mais...
Tu l'as sûrement deviné... ça marche pas.
Quand je donne le nom à la feuille en même temps avec le Userform, j'inscris ce nom dans la cellule Z2 de la page BD.
Du coup, à chaque fois qu'on créait une grille l'ancien nom est remplacé pas son nouveau.
Private Sub CommandButton1_Click()
ActiveSheet.Name = Me.TextBox1.Value & Me.TextBox2.Value
Feuil1.Range('Z2').Value = ActiveSheet.Name
UserForm1.Hide
End Sub
Ensuite dans ton code color j'ai mit:
'colorise les valeurs de la page BD en fonction que la réponse soit 1, 2 ou 3
Dim nom_feuille As String
Sub color()
Dim i As Byte, j As Byte
nom_feuille = Feuil1.Range('Z2').Value
'Avant de lancer la colorisation, je lance une vérification sur la feuil 6 afin de savoir
'si toutes les questions ont obtenues une réponse
For j = 1 To 168
If Sheets('nom_feuille').Cells(j, 2).Value = '' Then
MsgBox 'Vous avez oublier de repondre à la ' & Sheets('nom_feuille').Cells(j, 1).Value, vbCritical, 'Attention'
Application.Goto Sheets('nom_feuille').Cells(j, 1)
End If
Next j
Exit Sub
'Colorisation des cellules
Application.Goto Sheets('BD').Range('B2')
For i = 2 To Range('A65536').End(xlUp).Row
If Sheets('nom_feuille').Cells(i - 1, 2).Value = '1' Then
Sheets('BD').Range('B' & i & ':H' & i).Font.color = vbRed
ElseIf Sheets('nom_feuille').Cells(i - 1, 2).Value = '2' Then
Sheets('BD').Range('I' & i & ':O' & i).Font.color = vbGreen
ElseIf Sheets('nom_feuille').Cells(i - 1, 2).Value = '3' Then
Sheets('BD').Range('P' & i & ':V' & i).Font.color = vbBlue
End If
Next i
End Sub
Erreur: L'indice n'appartient pas à la section.
Je t'ai envoyé le fichier à ton adresse perso.
Merci A+