Mathieu Régis
XLDnaute Nouveau
Bonjour à toutes et tous !
Je suis un papi novice en VBA et j'ai un fichier Excel qui contient des colonnes par exemple en "B2: B5" avec des données du style B2 ="4/3/0", B3="2/4/3", B4="1/3/4" et B5="6/0/4".
En B1 je souhaite mettre une fonction du genre : B1 = Function (B2:B5) qui retournerai le résultat suivant : "13/10/11" qui est en fait la somme de chaque nombre dans leur position respective. J'ai écrit la fonction comme ci-dessous mais je n'arrive pas à récuperer ma selection de cellules dans ma Fonction(B2:B5)
Merci de votre aide !
Function Tot_Vertical(champ As Range)
Application.Volatile
'Dim champ As Range
Range(champ).Select
Tot_Repas_Pris = 0
Tot_Repas_Annulé = 0
Tot_Garderie = 0
For Each c In Selection 'Je voudrais récupérer la selection (B2:B5)
Position_1 = InStr(c.Value, "/")
Tot_Repas_Pris = Tot_Repas_Pris + Left(c, InStr(c.Value, "/") - 1)
Position_2 = InStr(Position_1 + 1, c.Value, "/")
Tot_Repas_Annul? = Tot_Repas_Annul? + Mid(c.Value, Position_1 + 1, Position_2 - Position_1 - 1)
Tot_Garderie = Tot_Garderie + Right(c, Len(c) - Position_2)
Next c
'Tot_Vertical = Tot_Repas_Pris & "/" & Tot_Repas_Annul? & "/" & Tot_Garderie
End Function
Je suis un papi novice en VBA et j'ai un fichier Excel qui contient des colonnes par exemple en "B2: B5" avec des données du style B2 ="4/3/0", B3="2/4/3", B4="1/3/4" et B5="6/0/4".
En B1 je souhaite mettre une fonction du genre : B1 = Function (B2:B5) qui retournerai le résultat suivant : "13/10/11" qui est en fait la somme de chaque nombre dans leur position respective. J'ai écrit la fonction comme ci-dessous mais je n'arrive pas à récuperer ma selection de cellules dans ma Fonction(B2:B5)
Merci de votre aide !
Function Tot_Vertical(champ As Range)
Application.Volatile
'Dim champ As Range
Range(champ).Select
Tot_Repas_Pris = 0
Tot_Repas_Annulé = 0
Tot_Garderie = 0
For Each c In Selection 'Je voudrais récupérer la selection (B2:B5)
Position_1 = InStr(c.Value, "/")
Tot_Repas_Pris = Tot_Repas_Pris + Left(c, InStr(c.Value, "/") - 1)
Position_2 = InStr(Position_1 + 1, c.Value, "/")
Tot_Repas_Annul? = Tot_Repas_Annul? + Mid(c.Value, Position_1 + 1, Position_2 - Position_1 - 1)
Tot_Garderie = Tot_Garderie + Right(c, Len(c) - Position_2)
Next c
'Tot_Vertical = Tot_Repas_Pris & "/" & Tot_Repas_Annul? & "/" & Tot_Garderie
End Function