Sélection jusqu'à la prochaine cellule non vide

Débutante -  
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

2 réponses

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
    0
    1. Débutante
       
      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 ?
      0