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

XL 2016 VBA SIERREUR

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

  • Planning V-Beta.xlsm
    343 KB · Affichages: 4

Phil69970

XLDnaute Barbatruc
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

  • Planning V-Beta V1.xlsm
    353.6 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
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

  • Planning V-Beta.xlsm
    338.7 KB · Affichages: 1

Hubert1959

XLDnaute Nouveau
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

  • Planning V-Beta.xlsm
    345.8 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • Planning V-Beta.xlsm
    351.2 KB · Affichages: 2

Discussions similaires

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