Besoin d'aide sur ma macro recherche multicritere qui ne fonctionne pas

seb26000

XLDnaute Occasionnel
Bonjour à tous,

J'ai un formulaire que l'utilisateur est rempli dans un fichier (ici Nettoyage_Demande). Lors de la validation, une macro ouvre un second fichier pour voir si cette demande existe déjà. Si le test répond oui, un message informe l'utilisateur que sa demande est déjà existante.

Le probleme c'est que ca ne marche que sur le papier

Voici le déroulement :

1. Le demandeur remplit le formulaire
2.jpg

2. Lors de la validation, une macro ouvre le fichier Nettoyage_Données, pour voir si la demande existe déjà. Si elle existe, un message informe l'utilisateur que la demande existe déjà, si la demande n'existe pas, une ligne est insérée pour que les différentes info y soient insérées.
1.jpg


3. Pour contrôler l'existance d'une demande, le test consiste à vérifier si les variables LO (local) et TR (tranche) issues du formulaire, sont présentes dans les champs nommés LOCAL et TRANCHE du fichier Nettoyage_Données et que le champ nommé DATE_REALISE (Nettoyage_Données) soit vide.
3.jpg

Malheureusement ca ne marche pas, je n'arrive pas à faire faire ce contrôle à Excel. Pour le test vous pouvez reprendre les valeurs présentes sur l'impression d'écran et valider la demande, vous verrez qu'à chaque fois Excel crée la demande alors qu'elle existe déjà !!!

Bonne semaine à tous et merci d'avance !
 

Pièces jointes

  • 2.jpg
    2.jpg
    54.4 KB · Affichages: 122
  • 2.jpg
    2.jpg
    54.4 KB · Affichages: 117
  • 1.jpg
    1.jpg
    46.5 KB · Affichages: 112
  • 1.jpg
    1.jpg
    46.5 KB · Affichages: 109
  • 3.jpg
    3.jpg
    48 KB · Affichages: 94
  • 3.jpg
    3.jpg
    48 KB · Affichages: 95
  • Nettoyage locaux.zip
    126.4 KB · Affichages: 22
  • Nettoyage locaux.zip
    126.4 KB · Affichages: 26
  • Nettoyage locaux.zip
    126.4 KB · Affichages: 29
C

Compte Supprimé 979

Guest
Re : Besoin d'aide sur ma macro recherche multicritere qui ne fonctionne pas

Bonjour Seb26000

Dans ta Sub controle_presence()
Ton Evaluate n'est pas correcte !

Il faut utiliser "SUMPRODUCT" et ne pas mettre la tranche qui est numérique, entre guillemets
Code:
Test = Evaluate("SUMPRODUCT((TRANCHE=" & TRA & ")*(LOCAL=""" & LO & """)*(DATE_REALISE=""""))")

Je n'ai pas testé le reste ;)

Nota : pour trouver ou se trouve une erreur, il faut se mettre en mode débogage
c'est à dire lancer la macro en Pas à Pas ou mettre un point d'arrêt sur une ligne

A+
 
Dernière modification par un modérateur:

seb26000

XLDnaute Occasionnel
Re : Besoin d'aide sur ma macro recherche multicritere qui ne fonctionne pas

Waoooo merci 1000 fois BRUNO !!
Ca fonctionne parfaitement !

Par contre j'ai une question concernant le fait que la tranche soit numérique. Dans le fichier, les cellules sont au format "standard", j'avais essaie auparavant de mettre le format "texte" et malheureusement cela n'avait rien changé lorsque j'exécutais la macro. J'avais toujours le message d'erreur...
TRA = CStr(Range("P4")) 'Tranche est ce bien cela pour forcer en "texte" la variable ?

En tout cas merci encore tu me sors d'une très grosse galère !!!

J'ai une petite question sur un autre thème, peut être que tu pourrais m'aider. Cela concerne le GIF animé. J'ai bien lu les postes à ce sujet. Cependant, peut etre que cela vient de ma version Excel 2010, mais lorsque j'insère un contrôle puis que je selectionne Microsoft Web Browser, j'indique dans la macro le chemin du GIF animé. Cependant, dans le contrôle, l'image est bien animé mais j'ai l'ascenseur vertical qui est toujours présent...

Encore merci 1000000000000 fois !!!!!!

En PJ : un exemple de gif animé avec un classeur
 

Pièces jointes

  • gif.zip
    16.3 KB · Affichages: 23
  • gif.zip
    16.3 KB · Affichages: 28
  • gif.zip
    16.3 KB · Affichages: 27
C

Compte Supprimé 979

Guest
Re : Besoin d'aide sur ma macro recherche multicritere qui ne fonctionne pas

re,

Par contre j'ai une question concernant le fait que la tranche soit numérique. Dans le fichier, les cellules sont au format "standard", j'avais essaie auparavant de mettre le format "texte" et malheureusement cela n'avait rien changé lorsque j'exécutais la macro. J'avais toujours le message d'erreur...
TRA = CStr(Range("P4")) 'Tranche est ce bien cela pour forcer en "texte" la variable ?

Effectivement, dans l'aide de l'éditeur VBA (F1) = la fonction Cstr renvoie une chaine

Pour ton problème de Web Browser, je ne sais pas, désolé
:(

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren