Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Condition complexe dans une macro

Myst3ryssss

XLDnaute Nouveau
Bonjour,

Je crée un nouveau sujet puisque ma question est totalement différente.
Je travail maintenant sur un autre problème.

--------- Voir PJ ---------
Je veux une condition supplémentaire dans la macro de ce bouton.
Je voudrais qu'en apuyant sur Insérer, la macro regarde si la valeur dans le champ Valeur marchande est = à 0 et bien, automatiquement, elle va chercher la dernière valeur de Valeur marchande dans la feuille Mouvement pour le compte correspondant.

Par exemple, dans le fichier:

1- Je choisis CELI comme compte et je fais immédiatement inséré (puisque je n'ai pas la donnée à jour pour ce compte).
2- Au lieu d'insérer 0$ dans Valeur marchande dans la feuille Mouvement, et ainsi créé un déificit de -10 000.00$, la macro va chercher dans la feuille Mouvement la dernière Valeur marchande enregistré pour le compte CELI, et l'insert à la place du 0$.

Je crois que c'est possible en VBA, c'est certain, mais je m'y connait trop peu. Je cherche un peu partout. J'ai presque réussi à le faire avec la fonction RECHERCHEV et des conditions, mais je ne sais pas comment introduire une fonction Excel dans ma macro elle même.

Merci d'avance,
Maxime
 

Pièces jointes

  • test.xlsx
    16.9 KB · Affichages: 55
  • test.xlsx
    16.9 KB · Affichages: 55
  • test.xlsx
    16.9 KB · Affichages: 55
Dernière édition:

Myst3ryssss

XLDnaute Nouveau
Re : Condition complexe dans une macro

Re,

Voilà, j'ai réussi avec une condition et la fonction RECHERCHEV. Cela renvois la bonne valeur selon la valeur de B2 (le compte)

Code:
=SI(Ajouter!C10=0;RECHERCHEV(B2;Mouvement!RECHERCHE_PLAGE_VAL0;3;FAUX))
RECHERCHE_PLAGE_VAL0 est la plage de recherche dans la feuille Mouvement qui correspond de B2 à E5 et qui s'agrandit automatiquement si on ajoute des valeurs.

Pour votre compréhension:
Code:
RECHERCHE_PLAGE_VAL0

=DECALER(Mouvement!$A$1;1;1;NBVAL(Mouvement!$A$1:$A$20)-1;4)


À partir d'ici, je suis bloqué.

P.s. la fonction renvois FAUX si C10 = pas 0. Mais bon ce n'est pas vrm inportant puisque je veux remplacer cecis par une directive de remplacement.

Merci d'avance,
Maxime
 

Discussions similaires

Réponses
2
Affichages
146
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…