Calcul sur une colonne puis filtre avec VBA

Résolu
sikasika Messages postés 74 Statut Membre -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    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
    0
  2. sikasika Messages postés 74 Statut Membre 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 ???
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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

    @+
    0
  4. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    «elle bloque au niveau de i=1 »

    Hein ???????

    Patrice
    PS : Sois plus précis : il a très probablement un message d'erreur, lequel ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sikasika Messages postés 74 Statut Membre 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
    0
  7. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Bon Noël,

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

    Excel se charge de la conversion du texte en date.
    0
  8. sikasika Messages postés 74 Statut Membre 3
     
    Merci pour ton aide Patrice
    mais il a suffit de mettre CDate(textBox.value)

    joyeux noël :D
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
       
      Si c'est terminé, passe le post en résolu
      0