Bonjour à tous,
Je rencontre la problématique suivante :
Dans un tableau composé de 4 colonnes et de x lignes, je souhaite récuperer dans la 4 colonne une valeur contenue dans la seconde colonne.
On peut résumer l'algorythme ainsi (je vous joins deux tableaux exemple pour illustrer cela):
- la cellule colonne B sur la même ligne que la cellule dans la colonne D et où est calculée la fonction personnalisée soit vide ou égale à 0 soit pleine
- je souhaite que dans ma cellule colonne D s'incrive la dernière valeur d'un bloc de cellule pleine en colonne B
Je pense que les deux tableaux sont assez parlants.
En débutante que je suis et après plusieurs visites dans les différentes discussions de ce forum et l'aide excel, j'ai donc tapé le code VBA suivant :
Public Function essai(toto As Range) As Range
Application.Volatile
Sub test()
'
' test Macro
Dim i As Integer
Dim j As Integer
i = toto.Row
j = toto.Column
Do While Range(i, j - 3).Value <= 0
i = i + 1
Loop 'descend jusqu'à trouver une cellule non vide
Do While Range(i, j - 3).Value > 0
i = i + 1
Loop 'descend jusqu'à retomber sur une cellule vide
essai = Range(i, j).Value
End Sub
End Function
Bon j'imagine que certains doivent trouver ça ridicule mais bon c'est en forgeant qu'on devient forgeron.
Lorsque je teste l'exécution dans le VBA, j'ai la fenêtre "erreur compilation argument non facultatif" qui apparaît avec "essai =" surligné en bleu.
Je vous remercie tous par avance pour vos conseils et votre aide,
Je rencontre la problématique suivante :
Dans un tableau composé de 4 colonnes et de x lignes, je souhaite récuperer dans la 4 colonne une valeur contenue dans la seconde colonne.
On peut résumer l'algorythme ainsi (je vous joins deux tableaux exemple pour illustrer cela):
- la cellule colonne B sur la même ligne que la cellule dans la colonne D et où est calculée la fonction personnalisée soit vide ou égale à 0 soit pleine
- je souhaite que dans ma cellule colonne D s'incrive la dernière valeur d'un bloc de cellule pleine en colonne B
Je pense que les deux tableaux sont assez parlants.
En débutante que je suis et après plusieurs visites dans les différentes discussions de ce forum et l'aide excel, j'ai donc tapé le code VBA suivant :
Public Function essai(toto As Range) As Range
Application.Volatile
Sub test()
'
' test Macro
Dim i As Integer
Dim j As Integer
i = toto.Row
j = toto.Column
Do While Range(i, j - 3).Value <= 0
i = i + 1
Loop 'descend jusqu'à trouver une cellule non vide
Do While Range(i, j - 3).Value > 0
i = i + 1
Loop 'descend jusqu'à retomber sur une cellule vide
essai = Range(i, j).Value
End Sub
End Function
Bon j'imagine que certains doivent trouver ça ridicule mais bon c'est en forgeant qu'on devient forgeron.
Lorsque je teste l'exécution dans le VBA, j'ai la fenêtre "erreur compilation argument non facultatif" qui apparaît avec "essai =" surligné en bleu.
Je vous remercie tous par avance pour vos conseils et votre aide,