Probleme MFC MAJ couleur (actualise cellule) Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
j
jonat28
Membre fidèle
Membre fidèle
Messages : 261
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 12 décembre 2019, 09:23

Bonjour à tous :)


voici mon problème :
j'aimerai actualisé une cellule en J3 car mes MFC ne marche pas au bout d'un moment je ne sais pas pourquoi pourtant ca reste des MFC
les MFC (date supérieur à la date ojd vert ) et (inférieur à la date ojd rouge )
j'ai essayer avec une macro ça me donner ceci
Range("J3").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "" 
du coup ça vide ma cellule je doit remplie quoi ou mettre quoi dans "" pour qu'il prenne la date dans J3 sachant quelle change souvent

merci de votre aide bonne journée
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'934
Appréciations reçues : 401
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 12 décembre 2019, 09:42

Bonjour,

Je ne suis peut-être pas bien réveillé mais je n'ai rien compris à votre demande !
Pouvez vous détailler ce que vous souhaiter faire/obtenir, en quoi ça marche pas, et de préférence illustrer le tout avec un classeur Excel ?

Une MFC fonctionne dans la durée sans avoir besoin de faire quoi que ce soit, à moins que vous ayez figé la date de référence dans la formule de MFC. Il n'y a pas besoin de VBA dans l'histoire.
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
j
jonat28
Membre fidèle
Membre fidèle
Messages : 261
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 12 décembre 2019, 09:53

Bonjour Pedro22 ,

voici mon fichier :
V8.xlsm
(37.21 Kio) Téléchargé 1 fois
voici mon problème:
j'ai fais 2 MFC sauf quelle ne marche pas je ne vois pas pourquoi :oops: si je rentre par exemple la date 18/11/2019 elle devrait être rouge et la elle est verte..
si je double clic dans la cellule elle ce mais rouge
Capture.PNG
j'aimerai quelle ce mette de la bonne couleur directement ou alors actualiser cette cellule J3 à la fin de mon code pour avoir la bonne couleur

j'espere être plus clair ..
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'934
Appréciations reçues : 401
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 12 décembre 2019, 10:09

jonat28 a écrit :
12 décembre 2019, 09:53
j'espere être plus clair ..
Oui c'est beaucoup mieux ! ;;)
Le problème vient des dates, la plupart ne sont pas valides, c'est à dire non reconnues par Excel. Faite le test rapidement en sélectionnant l'ensemble de la colonne --> format "Nombre". Toutes les dates valides deviennent des nombres du style 48800,00, les autres ne bougent pas.

Du coup :
- lorsque la valeur de la cellule n'est pas un nombre/date --> elle est formatée en vert
- lorsque la cellule est vide, la MFC considère la valeur 0 --> elle est formatée en rouge

Pour forcer rapidement la reconnaissance des dates :
- Sélectionner la colonne complète
- Données --> Convertir --> Terminer

Généralement, l'outil "Convertir" est utilisé pour séparer des informations d'une cellule selon un séparateur défini : ",", ";", etc. A la suite de cette opération, Excel cherche à reconnaître les informations séparées. Si l'on utilise un séparateur inexistant dans les données (on ne sépare rien), Excel fait quand même cette étape d'analyse et conversion de la donnée.

PS : il vous reste une date invalide en ligne 10 (13/13/2020)
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
j
jonat28
Membre fidèle
Membre fidèle
Messages : 261
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 12 décembre 2019, 11:52

merci pour vos explication Pedro22

j'ai tout compris:)

en revanche la conversion ne marche pas :oops:

voici ce que j'ai
ssse.PNG
ssse.PNG (14.3 Kio) Vu 49 fois
2Capture.PNG
2Capture.PNG (13.85 Kio) Vu 49 fois
3Capture.PNG
3Capture.PNG (15.17 Kio) Vu 49 fois
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'934
Appréciations reçues : 401
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 12 décembre 2019, 12:00

Les impressions écran que vous avez fournies ne me permettent pas de me rendre compte du problème. Il se passe quoi après avoir cliqué sur "terminer" ? D'autant plus que les 3 premières lignes sont déjà reconnues comme des dates (il faut juste repasser au format Date pour qu'elle soit à nouveau affichées de façon "compréhensible").

J'ai refait la manip' de mon côté sur votre fichier, ça fonctionne sans soucis.
Vous pouvez aussi forcer la conversion avec une formule dans une colonne vierge :
=DATEVAL("DateEnTexte")
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
j
jonat28
Membre fidèle
Membre fidèle
Messages : 261
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 12 décembre 2019, 12:30

oui la manip fonctionne mais des que je rentre une nouvelle date je suis obliger de refaire la manipulation

es possible de faire la manipulation automatique à la fin du code VBA?

car j'ai fais une maco mais ça ne fonctionne plus des que je refais une nouvelle ligne avec date
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'934
Appréciations reçues : 401
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 12 décembre 2019, 12:35

jonat28 a écrit :
12 décembre 2019, 12:30
oui la manip fonctionne mais des que je rentre une nouvelle date je suis obliger de refaire la manipulation

es possible de faire la manipulation automatique à la fin du code VBA?

car j'ai fais une maco mais ça ne fonctionne plus des que je refais une nouvelle ligne avec date
Commencez par donner tous les éléments nécessaires à la résolution de votre problème. Je ne devine pas quelle(s) macro(s) vous avez, ni d'où viennent ces dates invalides...
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
j
jonat28
Membre fidèle
Membre fidèle
Messages : 261
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 12 décembre 2019, 12:52

voici mon fichier j'ai suivie votre procédure tout fonctionne
V8.xlsm
(42.31 Kio) Téléchargé 1 fois
mais des que je clic sur le bouton "entre sortie" et mais la date 16/11/2019
il se mais en rouge encore

du coup j'ai essayer de faire une macro avec la procédure mais il ne prend pas en compte la nouvelle ligne crée..
je suis obliger de le faire manuellement à chaque fois (données convertir) et la sa refonctionne

je n'arrive pas à faire cette manipulation pour quelle ce face automatiquement macro ou code VBA ou autre moyen
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'934
Appréciations reçues : 401
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 12 décembre 2019, 13:44

Je commence à comprendre, votre date provient d'une saisie dans un Userform. Mais comme son nom l'indique, le contenu d'une Textbox est du texte. Donc si vous l'affectez simplement dans une cellule, il y a de grandes chances pour que ça reste reconnu comme du texte et pas une date valide...

Pour info, l'équivalent de la fonction Excel DATEVAL() est CDate() dans VBA, si ça peut permettre de traiter le problème à la source.

Je vous invite à consulter les nombreux sujets qui traitent de la saisie d'une date dans une Textbox. Un exemple :
https://forum.excel-pratique.com/viewtopic.php?f=2&t=133230

PS : petite remarque sur le codage, les instructions "Select" et "Activate" sont totalement inutiles. Exemple :
Sheets("Feuil1").Select
Range("A1").Select
Selection.Copy
Sheets("Feuil2").Select
Range("B1").Select
Selection.Paste
's'écrit tout simplement :
Sheets("Feuil1").Range("A1").Copy Sheets("Feuil2").Range("B1")
Modifié en dernier par Pedro22 le 12 décembre 2019, 13:55, modifié 1 fois.
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message