Valeur non prise en compte dans boucle
Résolu
ngio1301
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
ngio1301 Messages postés 46 Date d'inscription Statut Membre Dernière intervention -
ngio1301 Messages postés 46 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit problème avec un code. Je veux que excel me trouve toutes les données différentes par rapport à une base de données et les mettent en gras et rouge. Le souci c'est que c'est la totalité des données à traiter qui prennent les valeurs demandées. je vous laisse un modèle pour voir ce qui manque au code.
https://owen.link/fe96cc6e31atrnckk7q9zm9l27cfd191?k=ln_X2UX6G
j'ai un petit problème avec un code. Je veux que excel me trouve toutes les données différentes par rapport à une base de données et les mettent en gras et rouge. Le souci c'est que c'est la totalité des données à traiter qui prennent les valeurs demandées. je vous laisse un modèle pour voir ce qui manque au code.
https://owen.link/fe96cc6e31atrnckk7q9zm9l27cfd191?k=ln_X2UX6G
Configuration: Windows / Chrome 80.0.3987.132
A voir également:
- Valeur non prise en compte dans boucle
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Créer un compte instagram sur google - Guide
3 réponses
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
Statut
Membre
Dernière intervention
merci pour ton aide précieuse. J'avoue que je n'aurais pas pu faire cela, car mon niveau est bien inférieur.
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
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