Aide sur l'utilisation de fonctions / coordonnées de cellules en VBA
Bonjour à toutes et tous,
je débute totalement en VBA pour excel et je bricole assez bien... mais là je sèche sur un souci :
derniereligne = Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To derniereligne
If Range("B" & j).Value <> "" Then
Range("A" & j).Value = ActiveSheet.Name
coord = D&:&CStr(j)
ActiveSheet.Cells(j, 4).FormulaLocal = "=ARRONDI.AU.MULTIPLE(coord;5)"
End If
Next jEn gros, après avoir rempli toutes les cellules de la colonne A (correspondant à une ligne de données non vide) avec le nom de l'onglet,
je voudrais remplir une colonne (la D) avec un arrondi au multiple de la case de la même ligne sur la colonne C.
En plus clair, que la cellule D:j ait pour valeur l'arrondi de la C:j.
J'ai cru qu'il me fallait passer par une chaine de caractères et j'ai donc créé la variable coord pour faire ça, mais ça ne marche pas...
Bref,
je suis un peu paumé,
si ça n'est pas clair,
dites moi
Merci d'avance,
Adrien
re,
pour un débutant, c'est plus facile d'utiliser l'enregistreur des macros et de modifier le résultat qu'on y voit. Pour cela, vous ajoutez une formule dans la colonne A, par exemple, j'ai mis une bonne formule dans la cellule A4. Je démarre l'enregistreur, je sélectionne la cellule A4, je fais "F2" et je fais "Enter" et j'arrête l'enregistreur. Le résultat dans l'enregistreur sera quelque chose comme ceci ...
sub Macro1()
' Macro1 Macro
'
'
Range("A4").Select
ActiveCell.FormulaR1C1 = "=IF(RC[1]<>"""",MROUND(RC[3],5),""-"")"
Range("A5").Select
End SubMaintenant je suppose que vous voulez la formule dans la colonne A et vous copiez/collez la partie après "ActiveCell.FormulaR1C1 =" après "Cells(j, "A").FormulaR1C1 =, donc ici c'est "=IF(RC[1]<>"""",MROUND(RC[3],5),""-"")"
vers
Sub MaMacro()
Dim DerniereLigne: DerniereLigne = Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To DerniereLigne
If Range("B" & j).Value <> "" Then
Cells(j, "A").FormulaR1C1 = "=IF(RC[1]<>"""",MROUND(RC[3],5),""-"")"
End If
Next j
End SubSi cela ne fonctionne pas, téléchargez votre fichier avec des données anonymisées.
C'est étrange que vous voulez ajouter une formule pour certaines lignes et ne pas pour toutes.