Recherche de l'aide pour excel 2007 VBA

Résolu
Laura -  
 Laura -
Bonjour,
Très très urgent!! problème de dernière minute.

Bonsoir, j'ai créée un programme de gestion des stocks. j'ai mis en place une mise en forme conditionnelle qui déclenche une alarme lorsque la date de péremption d'un produit arrive.
J'ai fais un bouton avec VBA qui ouvre un userform. Les infos saisi dans l'userform sont redirigé dans un tableau excel.
Lorsque je saisie la date directement dans le tableau excel, la mise en forme conditonnelle fonctionne.
Lorsque je saisie la date dans l'userform et qu'elle est transférée dans la tableau excel par VBA, la mise en forme conditionnelle ne fonctionne pas.

Je pense que c'est parceque VBA traite une valeur et que le tableau excel traite une date.
J'espère que quelqu'un pourra m'aide à répondre à ce problème, ce programme est à rendre vendredi matin.

Je remercie mon sauveur d'avance!
Me contacter pour plus d'informations.
Laura
A voir également:

10 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Lorsque je saisie la date directement dans le tableau excel, la mise en forme conditonnelle fonctionne.
En ce cas on a les étapes
- sélection de la cellule
- écriture dan la cellule
- tu appuies sur ENTRER pour valider et la mise en forme conditionnelle est verifiée

Lorsque je saisie la date dans l'userform et qu'elle est transférée dans la tableau excel par VBA, la mise en forme conditionnelle ne fonctionne pas.

En ce cas on a les étapes
- tu écris dans userform
- le résultat est transmis dans la cellule
Il n'y a aucun événement qui peut enclencher la mise en forme conditionnelle


Deux pistes peut être :

1. Tu sélectionnes la cellule avant d'écrire et ensuite avec sendkeys tu simules l'appui sur la touche ENTRER
2. La valeur saisie dans userform tu la stocke dans une variable globale et tu l'écrit dans la cellue en utilisant la procédure événementielle
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
0
Laura
 
OK c'est très gentil d'avoir répondu mais je ne suis pas yper calé en informatique!
qu'est ce que veut dire : " avec sendkeys tu simules l'appui sur la touche ENTRER"
et la deuxième solution je ne comprend pas non plus...mettre le code dans VBA, je sais faire mais je ne comprend pas le reste.

je ne sais pas si vous allez pouvoir m'expliquer, ou me guider mais en tout cas merci quand même.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Teste ce fichier https://www.cjoint.com/?duxlzP0LH2 (il fonctionne sur Excel 2002)
0
Laura
 
j'ai tenté de mettre les mêmes codes dans mon ficher mais ça ne fonctionne toujours pas...
Merci.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Tu peux envoyer ton fichier pour voir.
0
Laura
 
je ne sais pas si tu arriveras à l'ouvrir...

file:///C:/Users/Laura/Documents/licence%20pro%20admr/projet%20gestion%20de%20stock/gestion%20des%20stocks/Programme%20de%20gestion%20des%20stocks/Nouveau%20produit.htm

je l'ai enregistré en format web sous 2007
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
Bonjour,

c'est clair qu'il n'arrivera pas à l'ouvrir, c'est le chemin sur ton disque dur :-)
Dépose le fichier sur cijoint.fr et colle ici le lien fourni.
eric
0
Laura > eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention  
 
ok, je débute alors c'est pas toujours simple...

http://www.cijoint.fr/cjlink.php?file=cj200903/cijMZMjEd6.xls
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

C'est quoi la cellule avec mise en forme conditionnelle?
0
Laura
 
c'est toutes les cellules de la ligne rouge DLC DLUO

j'avais fais une nouvelle mise en forme conditionnelle appliqué seulement aux cellules qui contiennent une valeur inférieure ou égale à aujourd'hui+(nombre de jour indiqué dans une autre case)
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
RE,

Ben, chez moi, la mise en forme fonctionne (Excel 2003) depuis userform

Au lieu d'écrire N fois
If Not IsEmpty(Feuil1.Cells(9, n).Value) Then n = n + 1
Tu peux faire une boucle
Do While Not IsEmpty(Feuil1.Cells(9, n).Value)
 n = n + 1
Loop

0
Laura
 
lol oui j'ai fais pas mal de bricolage! je n'ai reçu aucune formation de VBA et j'ai du me débrouiller seule pour tout faire donc il est évident que ce programme n'est absolument pas parfait.

par contre pour mon souci d'alarme on m'a donné une formule que j'ai réussi à adapter mais elle ne fonctionne que pour une case, je voudrais qu'elle fonctionne sur toute une ligne.

Sheets("feuil1").Range("c11").Value = DateValue(UserForm1.dlcdluo.Value)

il faudrait remplacer Range("c11") pour que cela signifie ligne 11...
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

En fait le numéro de colonne chage, la ligne restant la même.
Le numéro de colonne est donné par n

Donc tu peux écrire
Sheets("feuil1").cells(11,n).Value = DateValue(UserForm1.dlcdluo.Value) 

A chaque nouveau valeur ajoutée, la boucle va incrementer n.
0
Laura
 
Alors là c'est absolument génialissime...ça marche!

Merci beaucoup beaucoup beaucoup!!!!!! Pour Le temps que tu m'as accordé et ta grande patience.

ahhh je suis super contente et soulagée!
0