Bonjour,
J'ai pas mal travaillé sur un exercice et je ne trouve toujours pas de soluce convenable.
J'ai un classeur dans lequel il y a entre les lignes 2 à 100 et les colonnes A à Z des années sous le format "annéeXX" et à immédiatement à côté à droite des chiffres correspondant à des CA. On veut écrire une fonction qui est appelée par une procédure SUb et qui fait la somme des valeurs correspondant à un CA donné (l'année à traiter est indiqué en A1 feuille 1).
J'obtiens un message d'erreur 'argument not optional' avec ce code:
Function rechercher(annee As String) As Double
Dim rec As Date, i As Integer, j As Integer
rechercher = 0
rec = CDate(annee) ' Mise en forme de la recherche
For i = 2 To 100
For j = 1 To 25
If Range(Range.Rows(j) & i) = rec Then
rechercher = rechercher + Range(Range.Rows(j) + 1 & i)
End If
Next j
Next i
End Function
Sub Q_2()
Dim annee As String
annee = Worksheets(1).Range("A1")
MsgBox "La somme des exercices pour l'année " & Right(annee, 4) & " est " & rechercher(annee)
End Sub
Je mets mon fichier avec.
Je précise qu'il faut absolument que la variable pour le stockage de l'année soit String.
Merci d'avance