Macro Excel (question débutante)

Résolu
delphine -  
 delphine -
Bonjour,

je débute en macro excel : tout du moins je sais créer une macro "de base", mais pas d'insérer des fonctions, des If etc
J'ai actuellement un fichier sur lequel j'aimerais, pour les colonnes A,B,G,H, indiquer des données si la cellule C de la même ligne n'est pas vide.
J'ai trouvé sur Internet une base en If/Then qui me semble pas mal, mais je crois que je n'arrive pas à formuler clairement à l'intérieur ce que je veux.
Voici ce que j'ai tapé :

For i = 2 To Range("C" & Rows.Count).End(xlUp).Row
If Not IsEmpty(Range("C" & i)) Then Range("A" & i) = "commande centrale"
If Not IsEmpty(Range("C" & i)) Then Range("B" & i) = MonthName(("D" & i), False)
If Not IsEmpty(Range("C" & i)) Then Range("G" & i) = ("I" & i) / ("F" & i)
If Not IsEmpty(Range("C" & i)) Then Range("H" & i) = 0
Next

Et ce que je veux :
ligne par ligne, la macro vérifie si la cellule C n'est pas vide. Si elle n'est pas vide :
- dans la colonne A (à partir de A2), elle inscrit "commande centrale"
- dans la colonne B, elle inscrit le mois (en se basant sur la colonne D qui est du type JJ/MM/AAAA) (à la base, j'étais partie sur une fonction Texte qui ne semble pas marcher en VBA)
- dans la colonne G, elle calcule Gi=Ii/Fi
- dans la colonne H, elle inscrit 0

Apparemment il y a a minima un problème sur mes formulations pour les colonnes B et G. Quelqu'un peut-il m'aider svp ???
Merci beaucoup

Delphine



A voir également:

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

pour la colonneB, tu as la commande "format (=Texte sur Excel)

Bi'==format(cells(i,"D"),"mmmm")

et pour GI

If cells(i,"F")<>"" then
Cells(i, "I")/cells(i,"F")
Else
Cells(i,"F")=""
end if

et pour
0
delphine
 
Merci Michel, voilà ce que j'ai inscrit :

For i = 2 To Range("C" & Rows.Count).End(xlUp).Row
If Not IsEmpty(Range("C" & i)) Then Range("A" & i) = "commande centrale"
If Not IsEmpty(Range("C" & i)) Then Range("B" & i) = Format(Cells(i, "D"), "mmmm")
If Not IsEmpty(Range("C" & i)) Then Range("G" & i) = Cells(i, "I") / Cells(i, "F")
If Not IsEmpty(Range("C" & i)) Then Range("H" & i) = 0
Next

Et ça fonctionne nickel ! Merci, ça m'a évité plusieurs heures de prise de tête !
0