Sélection jusqu'à la prochaine cellule non vide
Débutante
-
Frenchie83 Messages postés 2254 Statut Membre -
Frenchie83 Messages postés 2254 Statut Membre -
Bonjour,
Je débute en VBA et je bloque pour une formule.
ActiveCell.FormulaR1C1 = "=RC[-1]/(R[-5]C[-1]:R[-1]C[-1])"
Je pars de la cellule active et je souhaite que la cellule à gauche de ma cellule active soit divisée par la plage suivante :
De la cellule au dessus de « RC[-1] » jusqu'à la prochaine cellule non vide
Lorsque je le fait manuellement en enregistrant une macro, il me sélectionne la plage de cellule.
Mais ce que j'aimerais c'est introduire ce code la :
Range(Selection, Selection.End(xlUp)).Select
Mais je ne vois pas comment faire.
Merci
Je débute en VBA et je bloque pour une formule.
ActiveCell.FormulaR1C1 = "=RC[-1]/(R[-5]C[-1]:R[-1]C[-1])"
Je pars de la cellule active et je souhaite que la cellule à gauche de ma cellule active soit divisée par la plage suivante :
De la cellule au dessus de « RC[-1] » jusqu'à la prochaine cellule non vide
Lorsque je le fait manuellement en enregistrant une macro, il me sélectionne la plage de cellule.
Mais ce que j'aimerais c'est introduire ce code la :
Range(Selection, Selection.End(xlUp)).Select
Mais je ne vois pas comment faire.
Merci
2 réponses
-
Bonjour
"jusqu'à la prochaine cellule non vide" en remontant si j'ai bien compris.For i = ActiveCell.Row - 1 To 1 Step -1 If Cells(i, ActiveCell.Column - 1) = "" Then DerLig = i + 1 ActiveCell.FormulaR1C1 = "=RC[-1]/SUM(R" & DerLig & "C[-1]:R[-1]C[-1])" Exit Sub End If Next i
A tester
Cdlt-
C'est tout à fait ça ! Merci beaucoup pour votre réponse si rapide!
Motivé par tout ça, j'ai essayé d'aller plus loin, en me disant :
On applique cette formule dans la colonne C, dès que l'on voit dans une cellule de la colonne B le mot "total".
J'ai donc essayé le chose suivante :
Sub Macro1() ' ' Macro1 Macro ' For i = ActiveCell.Row - 1 To 1 Step -1 If Cells(i, ActiveCell.Column - 1) = "" Then DerLig = i + 1 Range("C:C").FormulaR1C1 = "=IF(LEFT(RC[-2],5)=""Total"",RC[-1]/SUM(R" & DerLig & "C[-1]:R[-1]C[-1]),20" Exit Sub End If Next i ' End Sub
Mais cela ne fonctionne pas.
Voyez-vous le point bloquant ?
-