Forcer l'entré d'une valeur avec une conditionnel
Résolu
Philippe_affaires_reg
Messages postés
5
Statut
Membre
-
Philippe_affaires_reg Messages postés 5 Statut Membre -
Philippe_affaires_reg Messages postés 5 Statut Membre -
Bonjour,
Je construis un registre de différents enregistrement de produit. Mon registre comporte les colonnes suivantes:
(H) Nom de produit
(I) Statut : Statut de l'enregistrement: Liste de choix à entrer manuellement (ACTIF, EN COURS, EN RENOUVELLEMENT, EN ATTENTE, À FAIRE, À RENOUVELER)
(L) Date d'expiration
Normalement, j'entre les valeurs des la colonne (I) manuellement. Toutefois j'aimerais créer aussi une formule qui forcerait le changement de valeur de la colonne Statut (I) 90 jours avant la date de péremption de la colonne (L) afin que la valeur "À RENOUVELER" remplace la précédente.
P.S: Les cellules de la colonnes Statut on une validation de données qui autorise une liste possédant les différents choix. Le choix "À RENOUVELER". fait partie des choix.
Quelqu'un à une idée de comment réaliser ceci?
En vous remerciant.
Je construis un registre de différents enregistrement de produit. Mon registre comporte les colonnes suivantes:
(H) Nom de produit
(I) Statut : Statut de l'enregistrement: Liste de choix à entrer manuellement (ACTIF, EN COURS, EN RENOUVELLEMENT, EN ATTENTE, À FAIRE, À RENOUVELER)
(L) Date d'expiration
Normalement, j'entre les valeurs des la colonne (I) manuellement. Toutefois j'aimerais créer aussi une formule qui forcerait le changement de valeur de la colonne Statut (I) 90 jours avant la date de péremption de la colonne (L) afin que la valeur "À RENOUVELER" remplace la précédente.
P.S: Les cellules de la colonnes Statut on une validation de données qui autorise une liste possédant les différents choix. Le choix "À RENOUVELER". fait partie des choix.
Quelqu'un à une idée de comment réaliser ceci?
En vous remerciant.
A voir également:
- Forcer l'entré d'une valeur avec une conditionnel
- Forcer demarrage pc - Guide
- Forcer suppression fichier - Guide
- Forcer la reinitialisation pc - Guide
- Forcer à quitter - Guide
- Format conditionnel excel - Guide
4 réponses
Bonjour à tous,
Avec VBA, les dates sont examinées à l'ouverture du fichier par la procédure Workbook_Open() et le statut est basculé à l'état "À RENOUVELER" 90 jours avant la date de péremption.
Pour visualiser la procédure :
Appuyer sur alt + F11 pour ouvrir l'éditeur,
Appuyer sur ctrl + R pour ouvrir l'explorateur de projets,
Double-clic sur le module ThisWorkBook
https://www.cjoint.com/c/FJhfatiMoDM
A+
Avec VBA, les dates sont examinées à l'ouverture du fichier par la procédure Workbook_Open() et le statut est basculé à l'état "À RENOUVELER" 90 jours avant la date de péremption.
Pour visualiser la procédure :
Appuyer sur alt + F11 pour ouvrir l'éditeur,
Appuyer sur ctrl + R pour ouvrir l'explorateur de projets,
Double-clic sur le module ThisWorkBook
Private Sub Workbook_Open()
Dim Cel As Range
With Worksheets("Feuil1")
For Each Cel In .Range("J2", .Range("J" & Rows.Count).End(xlUp))
If (Cel.Value - Date) <= 90 Then Cel.Offset(, -1) = "À RENOUVELER"
Next Cel
End With
End Sub
https://www.cjoint.com/c/FJhfatiMoDM
A+
Bonjour.
En résumé, dans la colonne I:I on devrait pourvoir entrer un choix soit par une formule (avec L:L-90), soit par liste déroulante de cellule ?
En résumé, dans la colonne I:I on devrait pourvoir entrer un choix soit par une formule (avec L:L-90), soit par liste déroulante de cellule ?
Bonjour,
sans vba ça parait être mission impossible.
Une MFC rouge ne te suffit pas ? En plus ça attire plus l'oeil qu'un libellé qui change.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
sans vba ça parait être mission impossible.
Une MFC rouge ne te suffit pas ? En plus ça attire plus l'oeil qu'un libellé qui change.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Si j'ai bien compris ton explication, il existe une solution, mais qui ne donne pas entièrement satisfaction :
Saisir en I:I la formule =SI(J:J-AUJOURDHUI()<90;"A RENOUVELER";"")
cette même colonne ayant déjà ta liste déroulante de cellule, qui assure une validation des données.
Tant que rien n'est saisi en I:I la formule fonctionne parfaitement ; dès qu'un statut est ajouté, il écrase la formule ; même si on supprime ce statut, la formule a disparu ; il faudrait la recopier ...
Aussi je te conseille d'utiliser 2 colonnes distinctes, une avec tes statuts, l'autre avec la formule.
https://www.cjoint.com/c/FJgxy4YKLWM
Saisir en I:I la formule =SI(J:J-AUJOURDHUI()<90;"A RENOUVELER";"")
cette même colonne ayant déjà ta liste déroulante de cellule, qui assure une validation des données.
Tant que rien n'est saisi en I:I la formule fonctionne parfaitement ; dès qu'un statut est ajouté, il écrase la formule ; même si on supprime ce statut, la formule a disparu ; il faudrait la recopier ...
Aussi je te conseille d'utiliser 2 colonnes distinctes, une avec tes statuts, l'autre avec la formule.
https://www.cjoint.com/c/FJgxy4YKLWM
La formule VBA provoque donc l'erreur 13 car il n'y a pas de date partout.
Est-ce qu'il y a une solution à ce problème?
En te remerciant.
A+
Bon c'est un peu long à processer... considérant que j'ai plus de 600 lignes mais ça fonctionne.
Merci pour mon initiation à VBA.
Bonne fin de journée.