XL 2016 VBA SIERREUR

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hubert1959

XLDnaute Nouveau
Bonjour,

J'ai créé un planning avec mémoire et (avec des noms fictifs et des horaires fictif), tout en VBA
Je cale sur le récapitulatif des heures (en formule classique Excel (no soucis))
Ex :
=SIERREUR(SI(L$5=$C6;$E6-$D6;"0");"0")+SIERREUR(SI(L$5=$F6;$H6-$G6;"0");"0")

C’est encore le VBA qui bloque ?
Evidement j’ai essayé plein de solution trouvé sur internet, mais j’ai toujours une erreur.
Je remercie d'avance si cela est possible de l'intégrer.

Je joins un fichier fictif pour l'exemple.

Merci d'avance
 

Pièces jointes

Solution
Bonjour Hubert, Vgendron, Phil,
Un essai sans trop approfondir avec :
VB:
[L6:Q26].Formula = "=IFERROR(IF(L$5=$C6,$E6-$D6,0),0)+IFERROR(IF(L$5=$F6,$H6-$G6,0),0)"
et ne pas oublier le Application.EnableEvents = False pour éviter toute ré entrance.
Bonjour @Hubert1959

Je te propose ce fichier en fonction de ce que j'ai compris

Quelques remarques perso :
Pourquoi faire simple quand on peut faire compliquée c'est ta devise ! 🤔
Tu mélanges un peu tout, en cuisine des fois cela fonctionne mais souvent le plat est indigeste. 😉
Pourtant ton vrai prénom est super bon 🤣
 

Pièces jointes

Hello tous

moi, ce qui me fait halluciner ce sont ces listes de validation sans queue ni tete..
faire une colonne pour lister tous les jours de 2025 à 2040..???
et des colonnes pour le numéro de semaine..?

dans ton planning, on est bien d'accord que selectionner un mois. ca ne sert à rien puisque tu fais tes calculs (erronés) sur le numéro de la semaine

voir PJ
1) mettre les tableaux en sous forme de TS (il me semble qu'on te l'avais déjà dit non?)
2) liste de validaiton directement dans les cellules (plutot que passer par des compbo liés à d'autres cellules

pour ta formule sierreur ==> déjà .. pour mettre 0, on met 0, et pas "0"
la différence ?==> 0 = nombre tandis que "0" est du texte

mettre une formule par VBA
formule="=laformule en anglais et remplacement des différents caractères"
cellule.formula=formule
 

Pièces jointes

Re bonjour,

Le principe de mise en mémoire d’Excel est basé justement sur les cellules A à A3

C’est un principe d’Excel (je sais c’est nul)

Je l’utilise souvent sur d’autre modèle.

Plus simple je sais faire. (tout en formule Excel est cela fonctionne très bien et en contrepartie Excel n’autorise pas de restituer les données précédentes à une date bien définie.

C’est Excel !

Et oui ! c’est un peu tordu.

Ça ne fonctionne que par le VBA (ce qui permet de cloisonner le fichier et éviter les dommages causés par un tiers.

Dans le fichier ci joins j’ai la solution à 95% (je pense) c’est un problème de syntaxe dans le VBA (voir la ligne)

.Range("L6") = SIERREUR(L5 = C6, E6 - D6, "") + SIERREUR(L5 = F6, H6 - G6, "")

C’est un bon cas d’école, faire des ligne VBA avec SIERREUR.

Bonne continuation
Restons cool

Ph
 

Pièces jointes

Bonjour Hubert, Vgendron, Phil,
Un essai sans trop approfondir avec :
VB:
[L6:Q26].Formula = "=IFERROR(IF(L$5=$C6,$E6-$D6,0),0)+IFERROR(IF(L$5=$F6,$H6-$G6,0),0)"
et ne pas oublier le Application.EnableEvents = False pour éviter toute ré entrance.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
1 K
Réponses
4
Affichages
1 K
Réponses
4
Affichages
2 K
Retour