Calcul sur une colonne puis filtre avec VBA [Résolu/Fermé]

Signaler
Messages postés
71
Date d'inscription
vendredi 14 décembre 2012
Statut
Membre
Dernière intervention
10 juillet 2014
-
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
-
Bonjour tout le monde,
j'ai un petit soucis avec le code VBA , je bloque sur un truc

For i = 1 To 200
mat_résid = Cells(i, 8).Value - date_val.Value
Next i


ce que j'aimerai faire avec ce code c'est de calculer la maturité résiduelle de chaque ligne en suivant la formule suivante date d'échéance - date de valorisation
la date d'échéance de chaque ligne est contenu dans la colonne H et la date de valorisation sera prise depuis un text box
et après je devrai faire une selection des ligne ayant une maturité résiduelle inférieure à 365
est ce que quelqu'un peut m'aider :D :D
je ne sais pas si j'ai bien expliqué ou pas :D



7 réponses

Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 683
Dim mat_résid(1 to 200) as double

For i = 1 To 200
mat_résid(i) = Cells(i, 8).Value - date_val.Value
Next i
Messages postés
71
Date d'inscription
vendredi 14 décembre 2012
Statut
Membre
Dernière intervention
10 juillet 2014
3
merci beaucoup Patrice pour ta réponse
mais ça ne marche pas , elle bloque au niveau de i=1
peut être que c'est du au fait qu'il y a des lignes vides dans mon tableau, nn ???
Messages postés
16491
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 juillet 2021
3 198
bonjour

il vaudrait mieux que tu joignes ton fichier
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse

@+
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 683
«elle bloque au niveau de i=1 »

Hein ???????

Patrice
PS : Sois plus précis : il a très probablement un message d'erreur, lequel ?
Messages postés
71
Date d'inscription
vendredi 14 décembre 2012
Statut
Membre
Dernière intervention
10 juillet 2014
3
en fait mnt on me demande de faire les choses autrement

dans mon fichier je dois ajouter une colonne ou il y a maturité résiduelle : je créerai une fonction pour la calculer ( mat_résiduelle = date d'échéance - date de valorisation)
la date d'écheance je l'ai déjà en colonne mais la date de valorisation doit être prise depuis un textbox, et mon nouveau problème est de transformer le format du textbox en date pour pouvoir faire le calcul.

merci d'avance pour votre aide et je m'excuse pour le dérangement :D
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 683
Bon Noël,

Private Sub TextBox1_Change()
Range("A1") = Me.TextBox1.Value
End Sub

Excel se charge de la conversion du texte en date.
Messages postés
71
Date d'inscription
vendredi 14 décembre 2012
Statut
Membre
Dernière intervention
10 juillet 2014
3
Merci pour ton aide Patrice
mais il a suffit de mettre CDate(textBox.value)

joyeux noël :D
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 683
Si c'est terminé, passe le post en résolu