Bonjour,
Voilà j'ai une table de personnes à remplir avec des liste déroulante pour la civilité où la ville une fois le code postal rempli. J'ai des formats prédéfinis pour les date, les numéros de téléphone et adresse mail. J'ai également des formules pour calculer l'âge par rapport à la date.
Je souhaiterais créer un bouton réinitialiser pour mettre à blanc le fichier c'est à dire:
- Effacer la mise en forme de mes cellules c'est à dire les contours de la cellule la couleur mais pas le format (exemple format date) ni les règles de sécurité que j'ai mis (exemple pour un numéro de téléphone contient forcément 10 chiffres)
- Supprimer la valeur dans ma cellule mais je dois garder mes listes déroulantes et mes formules comme le calcul de l'âge.
Voici ce que j'ai commencé à faire, mais je ne trouve pas de solutions pour garder le formatage de mes cellules et garder mes formules de calcul.
Pouvez-vous m'aider?
Sub Effacer_Mise_en_Forme()
Dim s As Worksheet
Set s = ActiveSheet
num_lig = s.Cells(Rows.Count, 1).End(xlUp).Row 'Valeur à ajuster
num_col = s.Cells(1, Columns.Count).End(xlToLeft).Column 'Valeur à ajuster
'Efface la mise en forme de la cellule A1 jusqu'à la cellule remplie la plus basse et la plus à droite
Range(s.Cells(1, 1), s.Cells(num_lig, num_col)).ClearFormats
'Efface la valeur si la cellule ne contient pas le signe "=" soit une formule
For a = 1 To num_lig
For b = 1 To num_col
If InStr(s.Cells(a, b), "=") = 0 Then
s.Cells(a, b).ClearContents
End If
Next b
Next a
End Sub
Voilà j'ai une table de personnes à remplir avec des liste déroulante pour la civilité où la ville une fois le code postal rempli. J'ai des formats prédéfinis pour les date, les numéros de téléphone et adresse mail. J'ai également des formules pour calculer l'âge par rapport à la date.
Je souhaiterais créer un bouton réinitialiser pour mettre à blanc le fichier c'est à dire:
- Effacer la mise en forme de mes cellules c'est à dire les contours de la cellule la couleur mais pas le format (exemple format date) ni les règles de sécurité que j'ai mis (exemple pour un numéro de téléphone contient forcément 10 chiffres)
- Supprimer la valeur dans ma cellule mais je dois garder mes listes déroulantes et mes formules comme le calcul de l'âge.
Voici ce que j'ai commencé à faire, mais je ne trouve pas de solutions pour garder le formatage de mes cellules et garder mes formules de calcul.
Pouvez-vous m'aider?
Sub Effacer_Mise_en_Forme()
Dim s As Worksheet
Set s = ActiveSheet
num_lig = s.Cells(Rows.Count, 1).End(xlUp).Row 'Valeur à ajuster
num_col = s.Cells(1, Columns.Count).End(xlToLeft).Column 'Valeur à ajuster
'Efface la mise en forme de la cellule A1 jusqu'à la cellule remplie la plus basse et la plus à droite
Range(s.Cells(1, 1), s.Cells(num_lig, num_col)).ClearFormats
'Efface la valeur si la cellule ne contient pas le signe "=" soit une formule
For a = 1 To num_lig
For b = 1 To num_col
If InStr(s.Cells(a, b), "=") = 0 Then
s.Cells(a, b).ClearContents
End If
Next b
Next a
End Sub