Variable VBA

Résolu
Ecam39 Messages postés 314 Statut Membre -  
Ecam39 Messages postés 314 Statut Membre -
Bonjour,

Je souhaiterai créer une macro qui me fasse des calculs en fonction de données de la cellule en colonne A. si elle est vide alors il ne se passe rien. Je bloque sur la boucle et la variable.
Voici ma macro (incomplète) :

Sub calculs_cyclisme()

'Initialisation de la variable sur les lignes à calculer
Dim Calculs As Integer

'Lancement de la boucle sur la colonne A
For K = 2 To Range("A1").End(xlDown).Row

'Conditions de calculs
If IsEmpty(Cells(Calculs, 1)) Then

Cells(Calculs, 2) = Month(Cells(Calculs, 1))

Cells(Calculs, 6) = Cells(Calculs, 4) / (Cells(Calculs, 5) / 60)

Else

End If

Next

End Sub

2 réponses

  1. Zoul67 Messages postés 2001 Statut Membre 149
     
    Bonjour,

    Pourquoi en macro (et pas par formules) ?
    Pour la dernière ligne, on fait normalement xlUp.
    Ton if n'est pas bon : si c'est vide on calcule (--> impossible), si ce n'est pas vide on ne fait rien.

    A+
    0
  2. Ecam39 Messages postés 314 Statut Membre 9
     
    La ce sont des juste des formules, mais je vais rajouter des lignes tous les jours. Ensuite rajouter des TCD et graphiques.
    Ce fichier de base va me servir à alimenter tous mes autres onglets.

    Pour la fonction je m'en suis aperçu entre temps dsl (c'est not IsEmpty).
    0
    1. Zoul67 Messages postés 2001 Statut Membre 149
       
      Tu t'es aussi aperçu que K n'était pas utilisé dans la boucle ?
      Est-ce que tu as résolu ton problème ?
      0
    2. Ecam39 Messages postés 314 Statut Membre 9
       
      C'est la que je coince, je connais l'utilité de la variable et de la boucle mais je ne sais pas les coder.
      0
    3. Zoul67 Messages postés 2001 Statut Membre 149
       
      En remplaçant "Calculs" par K dans la boucle ?
      0
    4. Ecam39 Messages postés 314 Statut Membre 9
       
      J'ai fais ceci et ça fonctionne

      Sub calculs_cyclisme()


      'Initialisation de la variable sur les lignes à calculer
      Dim Calculs As Long
      Calculs = 1

      'Lancement de la boucle sur la colonne A
      For Calculs = 2 To Range("A2").End(xlDown).Row


      'Conditions de calculs
      If Not IsEmpty(Cells(Calculs, 1)) Then

      Cells(Calculs, 2) = Month(Cells(Calculs, 1))

      Cells(Calculs, 6) = Cells(Calculs, 4) / (Cells(Calculs, 5) / 60)


      Else

      End If

      Next

      End Sub
      0
    5. Ecam39 Messages postés 314 Statut Membre 9
       
      Merci pour ton aide :)
      0