Macro mise en forme conditionnelle, l'arrêter à la bonne colonne
Résolu/Fermé
A voir également:
- Macro mise en forme conditionnelle, l'arrêter à la bonne colonne
- Mise en forme conditionnelle excel - Guide
- Déplacer une colonne excel - Guide
- Dans la table des matières de ce document, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Mise en forme conditionnelle excel par rapport à une autre cellule ✓ - Forum Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
6 réponses
Bruce Willix
Messages postés
11968
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 587
18 févr. 2014 à 14:39
18 févr. 2014 à 14:39
Vous voulez vraiment passer par une macro alors qu'Excel le fait "nativement" ?
Ben je pensais que ce serait mieux vu que c'est pour une mise à jour de fichier et que j'ai presque 1 000 000 de lignes, mais si vaut mieux passer par une mfc classique je vous fait confiance
Bruce Willix
Messages postés
11968
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 587
18 févr. 2014 à 14:53
18 févr. 2014 à 14:53
Ce qui prend du temps à Excel, c'est d'évaluer des règles complexes ou des règles nombreuses (imbriquer sept SI() l'un dans l'autre et tirer la formule sur des milliers de cellules)
Perso, je définirais une MFC sur la zone A1:K10000000 avec un test sur la cellule appropriée (dernière option de la MFC). C'est vert si ok et rouge si nok ? C'est ça ?
Perso, je définirais une MFC sur la zone A1:K10000000 avec un test sur la cellule appropriée (dernière option de la MFC). C'est vert si ok et rouge si nok ? C'est ça ?
Bruce Willix
Messages postés
11968
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 587
18 févr. 2014 à 15:15
18 févr. 2014 à 15:15
Comment est faite la maj ?
- c'est un nouveau fichier qui est créé et qui écrase le précédent ?
OU
- le fichier existant est ouvert et le contenu des cellules est remplacé ?
- c'est un nouveau fichier qui est créé et qui écrase le précédent ?
OU
- le fichier existant est ouvert et le contenu des cellules est remplacé ?
Bruce Willix
Messages postés
11968
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 587
18 févr. 2014 à 15:25
18 févr. 2014 à 15:25
Donc ça va conserver la MFC dans le fichier, puisqu'il est juste "mis à jour".
romain7254
Messages postés
1020
Date d'inscription
mardi 23 décembre 2008
Statut
Membre
Dernière intervention
10 janvier 2018
296
18 févr. 2014 à 14:42
18 févr. 2014 à 14:42
Bonjour,
Avant de vous répondre, j'aimerai être sûr d'une chose.
Cette macro sélectionne toute la ligne. OK
Vous voulez qu'elle sélectionne la colonne à la place ? Toute la colonne ?
Avant de vous répondre, j'aimerai être sûr d'une chose.
Cette macro sélectionne toute la ligne. OK
Vous voulez qu'elle sélectionne la colonne à la place ? Toute la colonne ?
Bonjour Romain,
Non en fait, c'est qu'une histoire de mise en forme.
J'ai mon tableau qui va de A à K et avec la macro quand il me colorie la ligne il colorie de A à Z(bien plus que Z mais c'est pour l'exemple). Hors j'aimerais qu'il ne colorie vraiment que de A à K, j'essaie de faire une capture.
EDIT: Les sites d'upload sont bloqués dans mon entreprise..
Non en fait, c'est qu'une histoire de mise en forme.
J'ai mon tableau qui va de A à K et avec la macro quand il me colorie la ligne il colorie de A à Z(bien plus que Z mais c'est pour l'exemple). Hors j'aimerais qu'il ne colorie vraiment que de A à K, j'essaie de faire une capture.
EDIT: Les sites d'upload sont bloqués dans mon entreprise..
romain7254
Messages postés
1020
Date d'inscription
mardi 23 décembre 2008
Statut
Membre
Dernière intervention
10 janvier 2018
296
18 févr. 2014 à 15:06
18 févr. 2014 à 15:06
Testez ce que j'ai posté plus bas, et dite moi si c'est ce que vous recherchez, normalement oui ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
romain7254
Messages postés
1020
Date d'inscription
mardi 23 décembre 2008
Statut
Membre
Dernière intervention
10 janvier 2018
296
Modifié par romain7254 le 18/02/2014 à 15:02
Modifié par romain7254 le 18/02/2014 à 15:02
Essayez avec ce code (je n'ai pris que le début pour l'exemple) :
Pour l'explication, la ligne suivante sélectionne la cellule active et les 11 cellules suivantes sur la ligne (donc jusqu'à K):
Cordialement, Romain.
Dim rng As Range, c As Range
Application.ScreenUpdating = False
Set rng = Range("a2:k1000000") 'Attention à cette range, si votre page ne vas pas jusqu'à 1000000 de cellules, il y aura une erreur.
For Each c In rng.Cells
c.Select
If ActiveCell.Value = "Nok" Then
ActiveCell.Rows.Resize(, 11).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End If
Next
Application.ScreenUpdating = True
Range("A2").Select
Pour l'explication, la ligne suivante sélectionne la cellule active et les 11 cellules suivantes sur la ligne (donc jusqu'à K):
ActiveCell.Rows.Resize(, 11).Select
Cordialement, Romain.
Je viens d'essayer ton code, et j'ai deux soucis.
Le premier est que le code balaie mes cellules donc quand il est sur Kx et lit "Nok", il selectionne à partir de K et fait 11 colonnes à droite, j'ai essayé de mettre un - devant mais ça ne fonctionne pas.
Deuxième souci, mon fichier a son nombre de ligne qui varie, c'est de l'ordre de 500 lignes mais du coup, le début ne me permet pas de l'exploiter.
Aurais-tu une autre solution par hasard ?
Le premier est que le code balaie mes cellules donc quand il est sur Kx et lit "Nok", il selectionne à partir de K et fait 11 colonnes à droite, j'ai essayé de mettre un - devant mais ça ne fonctionne pas.
Deuxième souci, mon fichier a son nombre de ligne qui varie, c'est de l'ordre de 500 lignes mais du coup, le début ne me permet pas de l'exploiter.
Aurais-tu une autre solution par hasard ?
romain7254
Messages postés
1020
Date d'inscription
mardi 23 décembre 2008
Statut
Membre
Dernière intervention
10 janvier 2018
296
18 févr. 2014 à 15:59
18 févr. 2014 à 15:59
Je travaille dessus et te donne une réponse dès que possible.
romain7254
Messages postés
1020
Date d'inscription
mardi 23 décembre 2008
Statut
Membre
Dernière intervention
10 janvier 2018
296
Modifié par romain7254 le 18/02/2014 à 18:51
Modifié par romain7254 le 18/02/2014 à 18:51
Bien que le problème soit peut être résolu, la macro fonctionne maintenant :
Cordialement, Romain.
Dim rng As Range, c As Range
Application.ScreenUpdating = False
Set rng = Range("a2:k100000") 'Attention à cette range, si votre page ne va pas jusqu'à 1000000 de cellules, il y aura une erreur.
For Each c In rng.Cells
c.Select
If ActiveCell.Value = "Nok" Then
Range("A" & ActiveCell.Row & ":K" & ActiveCell.Row).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End If
Next
Application.ScreenUpdating = True
Range("A2").Select
Cordialement, Romain.