Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

calcul entre dates dans un tableau

3 réponses
Avatar
Zit
Bonjour a tous

débutant en vb pour Excel, j'appel a la générosité de vos neurones pour
m'aider à finaliser une macro.
je vais essayer d'être clair (déjà là ça se complique !)
J'ai dans une colonne1 des nombres et dans une colonne2 des dates, dans une
colonne3 des noms.
A chaque ligne dans colonne1 correspond une date dans colonne2 et un nom
dans colonnes3 (même ligne).
Toutes les lignes de colonne1 et colonne2 ne sont pas remplies.
Toutes les lignes de colonnes3 sont remplies par les meme nom.
voici en exemple

col1 col2 col3
ligne1 vide vide nom1
ligne2 nbr1 date1 nom1
ligne3 vide vide nom1
ligne4 vide vide nom1
ligne5 nbr2 date2 nom1
ligne6 nbr3 date3 nom1
ligne7 vide vide nom1
ligne8 vide vide nom1

je dois trouver par macro
X = ((date2 - date1) * nbr1) + ((date3 - date2) * nbr2) + ((date3 - date
aujourd'hui) * nbr3) et ainsi de suite
car le tableau incrémente en permanence de données

Merci d'avance aux neurones donateurs de solutions.
Bonne années a tous
Zit

3 réponses

Avatar
Antoine76
bonjour
avec la fonction Datedif et l'emploi d'une simple formule, cela devrait
être simplifié :
X = ((datedif(date2;date1;"d")) * nbr1) + ((datedif(date3;date1;"d")) *
nbr2) + ((datedif(date2;Aujourdhui;"d"))* nbr3)

Est-ce la bonne voie ?

Antoine
"Zit" a écrit dans le message de news:

Bonjour a tous

débutant en vb pour Excel, j'appel a la générosité de vos neurones pour
m'aider à finaliser une macro.
je vais essayer d'être clair (déjà là ça se complique !)
J'ai dans une colonne1 des nombres et dans une colonne2 des dates, dans
une

colonne3 des noms.
A chaque ligne dans colonne1 correspond une date dans colonne2 et un nom
dans colonnes3 (même ligne).
Toutes les lignes de colonne1 et colonne2 ne sont pas remplies.
Toutes les lignes de colonnes3 sont remplies par les meme nom.
voici en exemple

col1 col2 col3
ligne1 vide vide nom1
ligne2 nbr1 date1 nom1
ligne3 vide vide nom1
ligne4 vide vide nom1
ligne5 nbr2 date2 nom1
ligne6 nbr3 date3 nom1
ligne7 vide vide nom1
ligne8 vide vide nom1

je dois trouver par macro
X = ((date2 - date1) * nbr1) + ((date3 - date2) * nbr2) + ((date3 - date
aujourd'hui) * nbr3) et ainsi de suite
car le tableau incrémente en permanence de données

Merci d'avance aux neurones donateurs de solutions.
Bonne années a tous
Zit




Avatar
Antoine76
mea culpa, j'ai omis un couple de parenthèse VIDE après aujourdhui (sans
apostrophe)
donc
X = ((datedif(date2;date1;"d")) * nbr1) + ((datedif(date3;date1;"d")) *
nbr2) + ((datedif(date2;Aujourdhui();"d"))* nbr3)

Il l'a dit avant moi : "ERRARE HUMANUM EST "

Dont acte !

Antoine

"Zit" a écrit dans le message de news:

Bonjour a tous

débutant en vb pour Excel, j'appel a la générosité de vos neurones pour
m'aider à finaliser une macro.
je vais essayer d'être clair (déjà là ça se complique !)
J'ai dans une colonne1 des nombres et dans une colonne2 des dates, dans
une

colonne3 des noms.
A chaque ligne dans colonne1 correspond une date dans colonne2 et un nom
dans colonnes3 (même ligne).
Toutes les lignes de colonne1 et colonne2 ne sont pas remplies.
Toutes les lignes de colonnes3 sont remplies par les meme nom.
voici en exemple

col1 col2 col3
ligne1 vide vide nom1
ligne2 nbr1 date1 nom1
ligne3 vide vide nom1
ligne4 vide vide nom1
ligne5 nbr2 date2 nom1
ligne6 nbr3 date3 nom1
ligne7 vide vide nom1
ligne8 vide vide nom1

je dois trouver par macro
X = ((date2 - date1) * nbr1) + ((date3 - date2) * nbr2) + ((date3 - date
aujourd'hui) * nbr3) et ainsi de suite
car le tableau incrémente en permanence de données

Merci d'avance aux neurones donateurs de solutions.
Bonne années a tous
Zit




Avatar
Zit
Merci antoine
Mais tu me donnes une formule pour un tableau dans une feuille excel, mais
pas pour une macro avec compteur
du style do until ect...
Dommage pour moi
Zit

"Antoine76" a écrit dans le message de news:
%
bonjour
avec la fonction Datedif et l'emploi d'une simple formule, cela devrait
être simplifié :
X = ((datedif(date2;date1;"d")) * nbr1) + ((datedif(date3;date1;"d")) *
nbr2) + ((datedif(date2;Aujourdhui;"d"))* nbr3)

Est-ce la bonne voie ?

Antoine
"Zit" a écrit dans le message de news:

Bonjour a tous

débutant en vb pour Excel, j'appel a la générosité de vos neurones pour
m'aider à finaliser une macro.
je vais essayer d'être clair (déjà là ça se complique !)
J'ai dans une colonne1 des nombres et dans une colonne2 des dates, dans
une

colonne3 des noms.
A chaque ligne dans colonne1 correspond une date dans colonne2 et un nom
dans colonnes3 (même ligne).
Toutes les lignes de colonne1 et colonne2 ne sont pas remplies.
Toutes les lignes de colonnes3 sont remplies par les meme nom.
voici en exemple

col1 col2 col3
ligne1 vide vide nom1
ligne2 nbr1 date1 nom1
ligne3 vide vide nom1
ligne4 vide vide nom1
ligne5 nbr2 date2 nom1
ligne6 nbr3 date3 nom1
ligne7 vide vide nom1
ligne8 vide vide nom1

je dois trouver par macro
X = ((date2 - date1) * nbr1) + ((date3 - date2) * nbr2) + ((date3 - date
aujourd'hui) * nbr3) et ainsi de suite
car le tableau incrémente en permanence de données

Merci d'avance aux neurones donateurs de solutions.
Bonne années a tous
Zit