Excel VBA recherche d'une date

croquignol

XLDnaute Nouveau
Bonjour,

Je suis en train de développer une petite application sous excel. Le but de celle-ci consiste à gérer des commandes dans un fichier partagé. J'ai créé deux fichiers ; un à installer sur le PC des collaborateurs et un fichier data contenant une base de données qui est partagé sur le réseau.

Le premier fichier (V2.xls) permet de saisir les commandes, de les rechercher et de les modifier. Les saisies vont s'enregistrer dans un fichier partagé (data.xls).

Je suis en train d'inclure une fonction de rappels. A savoir, si une commande a été enregistrée mais n'a pas encore été traitée, un rappel est envoyé par e-mail au collaborateur responsable.

Je souhaite donc, dans le fichier "V2.xls" (programme) inclure une fonction VBA qui va faire une boucle dans le fichier "data.xls" (données) et, pour chaque ligne de ce fichier dont la cellule C (délai de la commande) est égale ou plus petite que la cellule A124 de la feuille X du fichier "V2.xls" (jour limite) et dont la cellule de la colonne N est vide (da du rappel), effectuer une action (envoi d'un rappel) puis coller la date du jour dans la cellule de la colonne N (date du rappel).

Traduction : si le délai d'envoi de la commande est dépassé et si aucun rappel n'a encore été envoyé, alors envoyer le rappel et mentionner la date d'envoi du rappel.

Problème, je suis peu doué en VBA (j'ai des connaissance de prog. en PHP uniquement) et encore moins sur l'écriture des boucles alors si quelqu'un arrive à me donner un petit coup de main, merci d'avance.
 

BERRACHED said

XLDnaute Accro
Re : Excel VBA recherche d'une date

Salut,croquignol bienvenue

les gens ici sont enchantés de pouvoir vous aide seulement si tu joint un fichier exemple qui contiens pas evidemment des données confidentiel juste une simulation avec une explication plus au moins explicite

Cordialement
 

croquignol

XLDnaute Nouveau
Re : Excel VBA recherche d'une date

Il ne m'est pas possible de poster une copie du classeur pour plusieurs raisons :

- Il s'agit de deux classeurs liés (les liaisons risquent de foirer)
- Celui-ci contient des dizaines de macros qui n'ont aucun rapport
- Moultes données confidentielles devraient être effacées.

Par contre, j'ai trouvé une solution à ma question. La voici :

valeur_premier_rappel = Workbooks("Copie de V2.xls").Worksheets("data").Cells(131, 1).Value

' Sélectionne la base de données
Workbooks("data.xls").Worksheets("data").Select
Range("O2").Select

'Compte le nombre de boucles à effectuer
Nb_boucles = Range("A65536").End(xlUp).Row - 1
LigneActive = ActiveCell.Row
For x = 1 To Nb_boucles

' Si le délai est dépassé, le cas n'est pas liquidé et aucun rappel n'a encore été envoyé
If Cells(LigneActive, 3).Value < valeur_premier_rappel And Cells(LigneActive, 14).Value = Empty And Cells(LigneActive, 15).Value = Empty Then

' Envoyer le rappel par e-mail
'--------------------------------
'
' INSERER LE SCRIPT ICI
'
'--------------------------------

' Indiquer la date du jour
ActiveCell.FormulaR1C1 = "=TODAY()"

End If
ActiveCell.Offset(1, 0).Activate
LigneActive = ActiveCell.Row
Next x


Merci tout de même pour votre aide.
 

Discussions similaires

Réponses
4
Affichages
565

Membres actuellement en ligne

Statistiques des forums

Discussions
312 520
Messages
2 089 299
Membres
104 092
dernier inscrit
karbone57