Couleur cellule sous condition usage multi onglet

OlivGFT Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai vu dans le forum que l'on peut changer la couleur d'une cellule en fonction de sa valeur.
Pouvez vous s'il vous plait m'indiquer cette même formule valable pour l'ensemble des onglets de mon fichier excel.
Je cherche à crée un bouton qui activera la macro sur commande. je souhaite que toutes les cellules parmis tous mes onglets qui ont la valeur "NON" se colore en rouge.
Voici la macro pour un onglet ( trouvé sur le net...)


Sub Couleur()
For i = 1 To 99
For j = 1 To 99
If Cells(i, j).Value = "NON" Then
Cells(i, j).Select
With Selection.Interior
.ColorIndex = 3
End With
End If
Next j
Next i
End Sub

Merci d'avance à celui ou celle qui répondra à mon appel ( parceque ça m'est très utile ! )
A voir également:

2 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Onglet Developpeur Inserer Controle Active X choisir le bouton

Clic droit sur le bouton Visualiser le code

et sous le Private Sub CommandButton1_Click()

insérer le code suivant

For n = 1 To Worksheets.Count

For i = 1 To 99
For j = 1 To 99
If Sheets(n).Cells(i, j).Value = "NON" Then Sheets(n).Cells(i, j).Interior.ColorIndex = 3

Next j
Next i
Next n

Attention la macro ne scrute par page qu'une zone de 99 lignes sur 99 colonnes
(c'est déjà pas mal) mais si plus de 99 lignes dans tes onglets il faut augmenter la valeur de i dans la macro

Selon le nombre d'onglets la macro peut mettre un certain temps

Cdlmnt




0
OlivGFT Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Merci via55,

Mais je suis débutant en macro et je ne comprend pas comment fonctionne les private sub. De plus mon pc est en anglais.
Concretement j'ai cliqué sur 1 onglet --> view code et j'ai inséré ton code.
J'ai crée une image ( bouton) mais je ne peux pas l'assigner...
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Excel en anglais je ne connais pas

Quand tu cliques sur un onglet et Visualiser le code (view code) ça ne fait justement que visualiser le code s'il en existe un

Il faut que tu trouves ce qui correspond au menu Developpeur en français
S'il n'est pas affiché dans la barre en haut il faut aller dans Options pour le faire afficher

C'est dans ce menu que tu as le sous menu pour insérer des contrôles et notamment des boutons après tu suis la procédure que je t'avais indiqué

OU bien
si tu insères une forme (rectangle, cercle) ou une image quand tu fais un clic droit sur elle tu dois avoir dans la fenêtre qui s'ouvre une ligne de commande pour Affecter une macro (trouver la correspondance en anglais) tu cliquesdessus et une nouvelle fenêtre s'ouvre avec le nom des macros existantes et sur la droite 2 boutons Nouvelle et Enregistrer; tu cliques sur Nouvelle et la page de l'éditeur de Macro avec une Sub ..... End Sub ; entre ces 2 lignes tu colles le code

Cdlmnt
0
OlivGFT Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Alors j'ai compris et fais la manipulation, cependant lors de l'execution de la macro j'ai un message d'erreur : "runtime error 13 type mismatch" ( et du coup ça ne marche pas)

Je me suis rendu compte que mon code de base ne marchait pas pour tous mes onglets mais seulement pour certain... que veux dire ce message ? encore merci
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
une erreur 13 c'est une incompatibilité de type par exemple la macro attends une variable texte et obtient du numérique
mais là je ne vois pas
si tu n'a pas fait d'erreur en recopiant le code il n'y a pas de raison que ça ne marche pas i, j et n sont des valeurs numériques
0