Variable VBA

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

Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   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
Ecam39 Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   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
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   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
Ecam39 Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   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
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
En remplaçant "Calculs" par K dans la boucle ?
0
Ecam39 Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   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
Ecam39 Messages postés 286 Date d'inscription   Statut Membre Dernière intervention   9
 
Merci pour ton aide :)
0