Colorié identiquemnt et automatiquement une cellule remplie de nombre en fct
Résolu
jack2125
Messages postés
457
Date d'inscription
Statut
Membre
Dernière intervention
-
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
bonsoir a tous
je ne trouve pas ma réponse dans les forums
voila
j'ai une ligne de 5 cellules qui sont remplis de nombres variables et coloriés de 2 couleurs qui peuvent s'inverser
ces nombres peuvent d'une part changer de valeurs et de couleurs(2 le jaune et le bleu) un jour une cellule peut être jaune et le lendemain bleue
je veux reporter sur une ligne identique et bien sûr automatiquement la valeur et la couleur de ces 5 cellules sur une autre ligne
Dans les deux cas elles sont jointive
la ligne d'origine est B72:F72
celle recopiée est ND3:NH3
je suis preneur soit MFC ou VBA
merci a tous
je ne trouve pas ma réponse dans les forums
voila
j'ai une ligne de 5 cellules qui sont remplis de nombres variables et coloriés de 2 couleurs qui peuvent s'inverser
ces nombres peuvent d'une part changer de valeurs et de couleurs(2 le jaune et le bleu) un jour une cellule peut être jaune et le lendemain bleue
je veux reporter sur une ligne identique et bien sûr automatiquement la valeur et la couleur de ces 5 cellules sur une autre ligne
Dans les deux cas elles sont jointive
la ligne d'origine est B72:F72
celle recopiée est ND3:NH3
je suis preneur soit MFC ou VBA
merci a tous
A voir également:
- Colorié identiquemnt et automatiquement une cellule remplie de nombre en fct
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule ✓ - Forum Excel
- Nombre de jours entre deux dates excel - Guide
- Excel cellule couleur si condition texte - Guide
- Diviser une cellule excel en deux horizontalement ✓ - Forum Excel
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
9 réponses
La macro se lance automatiquement au changement de valeur d'une cellule, pour cela il faut que le code VBA soit copié comme dit précédemment dans le module de la feuille, exemple ci-dessous

De plus, suite à votre dernier post, je me suis aperçu que j'avais inversé les lignes, voici la modif
Quant à votre nouvelle problématique, il serait intéressant de connaître les formules utilisées pour l'application des MFC pour pouvoir ainsi les récupérer et appliquer les couleurs à la colonne MX
De plus, suite à votre dernier post, je me suis aperçu que j'avais inversé les lignes, voici la modif
Private Sub Worksheet_Change1(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("B72:F72")) Is Nothing Then Range("B72:F72").Copy Range("ND3:NH3") End If Application.EnableEvents = True End Sub
Quant à votre nouvelle problématique, il serait intéressant de connaître les formules utilisées pour l'application des MFC pour pouvoir ainsi les récupérer et appliquer les couleurs à la colonne MX
Je dois m'absenter, mais la solution idéale et simple de surcroit pour votre dernier problème est de faire une copie de la colonne MX et de la coller dans une autre feuille.
j'ai créé une colonne OA
dans le VBA j'ai tout remplacé
Range("OA10:OA62").ClearContents
Range("OA10:OA62").FormatConditions.Delete
For i = 2 To 6
Set v = Range("NZ10:NZ62").Find(Cells(72, i), LookIn:=xlValues, lookat:=xlWhole)
If Not v Is Nothing Then
Cells(72, i).Copy Cells(v.Row, "OA")
End If
mes cellules se créent
je vais faire la MFC et se sera tout bon
par contre ne risque t'il pas d'y avoir interférence avec la première installée
je supprime la partie concernée ND3:NH3
un grand merci a toi
bon WE
dans le VBA j'ai tout remplacé
Range("OA10:OA62").ClearContents
Range("OA10:OA62").FormatConditions.Delete
For i = 2 To 6
Set v = Range("NZ10:NZ62").Find(Cells(72, i), LookIn:=xlValues, lookat:=xlWhole)
If Not v Is Nothing Then
Cells(72, i).Copy Cells(v.Row, "OA")
End If
mes cellules se créent
je vais faire la MFC et se sera tout bon
par contre ne risque t'il pas d'y avoir interférence avec la première installée
je supprime la partie concernée ND3:NH3
un grand merci a toi
bon WE
Bonjour,
Voici le fichier avec les modifications suivantes:
-A chaque clic sur le bouton "Sauvegarder", une copie du tableau de la colonne MX est envoyée dans la feuille 2, avec conservation de la date en première ligne du jour de la sauvegarde.
-Les couleurs sont reproduites à l'identique MFC ou pas.
le fichier
https://mon-partage.fr/f/IQnMn4iT/
le code utilisé
Cdlt
Voici le fichier avec les modifications suivantes:
-A chaque clic sur le bouton "Sauvegarder", une copie du tableau de la colonne MX est envoyée dans la feuille 2, avec conservation de la date en première ligne du jour de la sauvegarde.
-Les couleurs sont reproduites à l'identique MFC ou pas.
le fichier
https://mon-partage.fr/f/IQnMn4iT/
le code utilisé
Dim Shf1 As Worksheet, Shf2 As Worksheet Dim DerCol_f2 As Long Sub Couleurs_et_Valeurs() Application.ScreenUpdating = False Range("B72:F72").Copy Range("ND3:NH3") Range("MX10:MX62").ClearContents Range("MX10:MX62").FormatConditions.Delete For i = 2 To 6 Set v = Range("MW10:MW62").Find(Cells(72, i), LookIn:=xlValues, lookat:=xlWhole) If Not v Is Nothing Then Cells(72, i).Copy Cells(v.Row, "MX") End If Next i End Sub Sub Sauvegarde() Application.ScreenUpdating = False Set Shf1 = Sheets("Feuil1") Set Shf2 = Sheets("Feuil2") DerCol_f2 = Shf2.[XFD1].End(xlToLeft).Column + 1 Shf1.Range("MX10:MX62").Copy Shf2.Cells(2, DerCol_f2) Shf2.Cells(1, DerCol_f2) = Date RecupCouleur Shf2.Select End Sub Sub RecupCouleur() Dim FC As FormatCondition, F1 As Variant Dim C As Range Shf1.Select For i = 10 To 62 Set C = Cells.Find(Empty) For Each FC In Shf1.Cells(i, "MX").FormatConditions C.FormulaLocal = FC.Formula1: F1 = C F1 = C If F1 Then Exit For Next FC If Not FC Is Nothing Then Couleur = FC.Interior.Color Else: Couleur = Shf1.Cells(i, "MX").Interior.Color Shf2.Cells(i - 8, DerCol_f2).Interior.Color = Couleur C.Clear Next i End Sub
Cdlt
Bonjour,
Pour les noms des feuilles, mettez celui que vous voulez, il suffit de remplacer dans le code (dans les 2 lignes ci-dessous) , "Feuil1" ou "Feuil2" par les noms que vous aurez choisit
dans la macro "Sauvegarde", remplacez les noms des feuilles par leurs vrais noms, exemple:
Ceci:
Remplacé par cela si vous avez renommé la "Feuil2" en "Resultats"
Est-ce plus clair?
Questions: Avez-vous bien ouvert le dernier fichier joint précédemment? Fonctionnait-il correctement?
Cdlt
Pour les noms des feuilles, mettez celui que vous voulez, il suffit de remplacer dans le code (dans les 2 lignes ci-dessous) , "Feuil1" ou "Feuil2" par les noms que vous aurez choisit
dans la macro "Sauvegarde", remplacez les noms des feuilles par leurs vrais noms, exemple:
Ceci:
Set Shf1 = Sheets("Feuil1") Set Shf2 = Sheets("Feuil2")
Remplacé par cela si vous avez renommé la "Feuil2" en "Resultats"
Set Shf1 = Sheets("Feuil1") Set Shf2 = Sheets("Resultats")
Est-ce plus clair?
Questions: Avez-vous bien ouvert le dernier fichier joint précédemment? Fonctionnait-il correctement?
Cdlt
Bonjour,
Questions:
-Peut-il y avoir un changement de couleur d'une cellule sans que sa valeur change?
-Ces changements de valeurs et/ou de couleurs, se font-ils manuellement ou bien par formule pour les valeurs et par MFC pour les couleurs, ou bien encore, est-ce une macro qui gère tout ça?
Cdlt
Questions:
-Peut-il y avoir un changement de couleur d'une cellule sans que sa valeur change?
-Ces changements de valeurs et/ou de couleurs, se font-ils manuellement ou bien par formule pour les valeurs et par MFC pour les couleurs, ou bien encore, est-ce une macro qui gère tout ça?
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour les couleurs, si c'est une MFC qui régit les couleurs, il suffit d'appliquer les mêmes conditions qui s'appliquent aux cellules ND3:NH3 aux cellules B72:F72.
Quant au changement de valeurs, un bout de code VBA à mettre dans le module de la feuille concernée fera l'affaire
Cdlt
Quant au changement de valeurs, un bout de code VBA à mettre dans le module de la feuille concernée fera l'affaire
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("ND3:NH3")) Is Nothing Then Range("ND3:NH3").Copy Range("B72:F72") End If Application.EnableEvents = True End Sub
Cdlt
merci je vais tester
maintenant on prend les mêmes cellules mères B72:F72
je veux les reporter sur une colonne MX10:Mx62 dans laquelle il y a 2 espaces MX29:MX30 et MX46:MX47
la cellule MX10 représente les 1
la cellule MX69 représente les 49
les cellule se suivent l'une sous l'autre et a MX28 qui est 19 je saute à MX
31 à 20 et idem
MX45 représente 34 et MX48 35
MX62 c'est la fin à49
il faut donc que chaque cellules de B72:F72 viennent avec chacune leur valeur, s'écrire en valeur et couleur, au bon emplacement dans la colonne
par exemple B72=20 va se positionner en MX31
C72 = 34 va se positionner en MX45 en prenant également les mêmes couleurs
un grand merci
cordialement
maintenant on prend les mêmes cellules mères B72:F72
je veux les reporter sur une colonne MX10:Mx62 dans laquelle il y a 2 espaces MX29:MX30 et MX46:MX47
la cellule MX10 représente les 1
la cellule MX69 représente les 49
les cellule se suivent l'une sous l'autre et a MX28 qui est 19 je saute à MX
31 à 20 et idem
MX45 représente 34 et MX48 35
MX62 c'est la fin à49
il faut donc que chaque cellules de B72:F72 viennent avec chacune leur valeur, s'écrire en valeur et couleur, au bon emplacement dans la colonne
par exemple B72=20 va se positionner en MX31
C72 = 34 va se positionner en MX45 en prenant également les mêmes couleurs
un grand merci
cordialement
En attendant, voici une solution qui fonctionne en cliquant sur un bouton.
le fichier
https://mon-partage.fr/f/OcC21YSD/
le code dans un module standard en plus du code dans le module de la feuille
Cdlt
le fichier
https://mon-partage.fr/f/OcC21YSD/
le code dans un module standard en plus du code dans le module de la feuille
Sub Couleurs_et_Valeurs() Application.ScreenUpdating = False Range("B72:F72").Copy Range("ND3:NH3") Range("MX10:MX62").ClearContents Range("MX10:MX62").FormatConditions.Delete For i = 2 To 6 Set v = Range("MW10:MW62").Find(Cells(72, i), LookIn:=xlValues, lookat:=xlWhole) If Not v Is Nothing Then Cells(72, i).Copy Cells(v.Row, "MX") End If Next i End Sub
Cdlt
pour la première c'est super merci
pour la seconde c'est plus compliqué!
j'utilise en MFC =nb.si((.... et j'indique la couleur jaune sachant qu'a l'origine, mes cellules mères sont coloriées manuellement en bleu
mais ou ça se complique que j'ai oublié de mentionné,
a chaque fois que je modifie une cellule mère je me décale d'une colonne Je garde en archive toutes les colonnes précédentes avec leurs nombres et couleur
et tous les mois je re parts avec un nouveau tableau…
C'est ma ligne ND3; NH3 qui prends le relais pour le mois en cour
la ligne B72:F72 elle reste fixe
??--
vous êtes super!
merci à tous
pour la seconde c'est plus compliqué!
j'utilise en MFC =nb.si((.... et j'indique la couleur jaune sachant qu'a l'origine, mes cellules mères sont coloriées manuellement en bleu
mais ou ça se complique que j'ai oublié de mentionné,
a chaque fois que je modifie une cellule mère je me décale d'une colonne Je garde en archive toutes les colonnes précédentes avec leurs nombres et couleur
et tous les mois je re parts avec un nouveau tableau…
C'est ma ligne ND3; NH3 qui prends le relais pour le mois en cour
la ligne B72:F72 elle reste fixe
??--
vous êtes super!
merci à tous