Valeur non prise en compte dans boucle
Résolu/Fermé
ngio1301
Messages postés
46
Date d'inscription
jeudi 5 décembre 2019
Statut
Membre
Dernière intervention
14 mai 2022
-
Modifié le 13 mars 2020 à 22:23
ngio1301 Messages postés 46 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 14 mai 2022 - 14 mars 2020 à 15:13
ngio1301 Messages postés 46 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 14 mai 2022 - 14 mars 2020 à 15:13
A voir également:
- Valeur non prise en compte dans boucle
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Supprimer compte instagram - Guide
- Créer un compte instagram sur google - Guide
- Gmail connexion autre compte - Guide
3 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
14 mars 2020 à 11:21
14 mars 2020 à 11:21
Bonjour,
quand tu colles un code ici, utiliser l'icone '<>' pour conserver sa mise en forme et avoir une lecture plus facile.
Déjà, rien à voir avec ta question, mais ton fichier est beaucoup trop gros pour ce qu'il contient.
Il est long à charger et enregistrer inutilement.
Fais Ctrl+Fin sur une feuille, ça t'amène en AX4000, soit 3900 lignes inutiles multiplié par 52 feuilles...
Il faut sélectionner dans la marge ces 3900 lignes inutiles et les supprimer par un clic-droit.
Si c'était le cas il aurait aussi fallu le faire sur les colonnes inutiles
Je te l'ai fait sur S01 et supprimé les autres feuilles
Pour ta question, je t'ai mis un code un peu plus long, mais qui sera beaucoup plus rapide (presque instantané).
Je te l'ai mis dans un module Standard Module1, il agira sur la feuille active lors de l'appel.
Ca fait un seul endroit à modifier au lieu de 52 en cas d'évolution...
https://www.cjoint.com/c/JCoktSpIEbV
eric
quand tu colles un code ici, utiliser l'icone '<>' pour conserver sa mise en forme et avoir une lecture plus facile.
Déjà, rien à voir avec ta question, mais ton fichier est beaucoup trop gros pour ce qu'il contient.
Il est long à charger et enregistrer inutilement.
Fais Ctrl+Fin sur une feuille, ça t'amène en AX4000, soit 3900 lignes inutiles multiplié par 52 feuilles...
Il faut sélectionner dans la marge ces 3900 lignes inutiles et les supprimer par un clic-droit.
Si c'était le cas il aurait aussi fallu le faire sur les colonnes inutiles
Je te l'ai fait sur S01 et supprimé les autres feuilles
Pour ta question, je t'ai mis un code un peu plus long, mais qui sera beaucoup plus rapide (presque instantané).
Je te l'ai mis dans un module Standard Module1, il agira sur la feuille active lors de l'appel.
Ca fait un seul endroit à modifier au lieu de 52 en cas d'évolution...
https://www.cjoint.com/c/JCoktSpIEbV
eric
ngio1301
Messages postés
46
Date d'inscription
jeudi 5 décembre 2019
Statut
Membre
Dernière intervention
14 mai 2022
13 mars 2020 à 22:25
13 mars 2020 à 22:25
Hello,
Personne qui peut m'aider là dessus?
Personne qui peut m'aider là dessus?
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
13 mars 2020 à 22:52
13 mars 2020 à 22:52
Bonjour,
tu es trop léger en explications et on n'aime pas trop les devinettes...
eric
tu es trop léger en explications et on n'aime pas trop les devinettes...
eric
ngio1301
Messages postés
46
Date d'inscription
jeudi 5 décembre 2019
Statut
Membre
Dernière intervention
14 mai 2022
Modifié le 14 mars 2020 à 01:28
Modifié le 14 mars 2020 à 01:28
salut eriiic!
je pensais avoir été claire.
je mets le code qui permet de faire ce que je souhaite.
Sub couleurs()
Dim c, d As Range
Application.ScreenUpdating = False
For Each c In Range("AI5:AI50") 'B
For Each d In Range("AJ5:AV50") 'A
If d <> "" And d = c Then
With d.Font
.ColorIndex = 3
.Bold = True
.Size = 12
End With
End If
Next d
Next c
Application.ScreenUpdating = True
End Sub
Dans le fichier fourni il y a une plage A dans laquelle se trouve des données qui doivent être comparées à une liste dans une plage de données B.
Après comparaison, la boucle doit repérer la ou les donné-es qui ne sont pas présentes dans la plage de donnée B et les mettre de couleur rouge, en gras et de taille de police plus grande.
Le problème est que se sont toutes les données dans A qui se mettent au format demandé et non les différentes de B.
lien pour voir le fichier: https://owen.link/fe96cc6e31atrnckk7q9zm9l27cfd191?k=ln_X2UX6G
je pensais avoir été claire.
je mets le code qui permet de faire ce que je souhaite.
Sub couleurs()
Dim c, d As Range
Application.ScreenUpdating = False
For Each c In Range("AI5:AI50") 'B
For Each d In Range("AJ5:AV50") 'A
If d <> "" And d = c Then
With d.Font
.ColorIndex = 3
.Bold = True
.Size = 12
End With
End If
Next d
Next c
Application.ScreenUpdating = True
End Sub
Dans le fichier fourni il y a une plage A dans laquelle se trouve des données qui doivent être comparées à une liste dans une plage de données B.
Après comparaison, la boucle doit repérer la ou les donné-es qui ne sont pas présentes dans la plage de donnée B et les mettre de couleur rouge, en gras et de taille de police plus grande.
Le problème est que se sont toutes les données dans A qui se mettent au format demandé et non les différentes de B.
lien pour voir le fichier: https://owen.link/fe96cc6e31atrnckk7q9zm9l27cfd191?k=ln_X2UX6G
14 mars 2020 à 15:13