Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Function VBA qui ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion baptbapt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

baptbapt

XLDnaute Occasionnel
=SI(R6>M6;SI(K6>0;1+M5;M5);M6) formule excel

Function NbMax(R As Range)
If R.Value > M.Value Then
If K.Value > 0 Then
NbMax = Range("M" & R.Row).Offset(-1, 0).Value + 1
Else
NbMax = Range("M" & R.Row).Offset(-1, 0).Value
End If
Else
NbMax = Range("M" & AE.Row).Value
End If
End Function

Sa devrais etre sa, si j'ai bien compris, mais pour cette fonction sa ne marche pas.
 
Re : Function VBA qui ne fonctionne pas

Bonjour

Vba n'est pas devin, tu ne définis que R, quid de m,k et ae
modifie le début de ton code et cela ira mieux

Cordialement, A+

Function NbMax(R As Range)
Dim K As Range, M As Range, AE As Range
Set M = R.Offset(0, -5)
Set K = R.Offset(0, -7)
Set AE = R.Offset(0, 13)
 
Re : Function VBA qui ne fonctionne pas

=SI(R6>M6;SI(K6>0;1+M5;M5);M6) formule excel

Function NbMax(R As Range)
If R.Value > M.Value Then
If K.Value > 0 Then
NbMax = Range("M" & K.Row).Offset(-1, 0).Value + 1
Else
NbMax = Range("M" & K.Row).Offset(-1, 0).Value
End If
Else
NbMax = Range("M" & R.Row).Value
End If
End Function

il n'y a pas de AE, simple erreur lors du recopiage.
Mais voila, j'ai toujours une erreur.
Dois-je ajouter une fonction a l'intérieur de ma fonction

afin de faire
function
if
___function
_____if
_____else
_____end if
___end function
else
end if
end function
 
Re : Function VBA qui ne fonctionne pas

re,

Pour baptbapt, je pense pas que tu ais besoin d'une autre fonction.

Pour Yeahou, je ne suis pas un spécialiste des fontion, mais il me semble que R est déclaré mais n'st pas définit, à moins qu'il soit définit dans la macro appelant la fonction.
Donc si ce n'est pas le cas, est-ce qu'il ne faut rajouter un truc du genre:
Set R = Cells(6, 18)

@+
 
Re : Function VBA qui ne fonctionne pas

=SI(AE5>0;AB5+M4;M5)

Function ValeurMax(AE As Range)
If AE.Value > 0 Then
ValeurMax = Range("AB" & AE.Row).Value + Range("M" & AE.Row).Offset(-1, 0).Value
Else
ValeurMax = Range("M" & AE.Row)
End If
End Function

Voila la précedente fonction que j'ai réaliser (enfin plutot Jeanpierre, merci encore)

Je suis parti pour cette nouvelle fonction sur le meme principe, mais sa ne marche pas du tout.
J'ai essayeé en modifiant

NbMax = Range("M" & K.Row).Offset(-1, 0).Value + 1

a la place
NbMax = Range("M" & K.Row).Offset(-1, 0).Value
NbMax=NbMax+1

mais sa n'apporte rien de plus

Je revien donc a mon point de départ
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
411
Réponses
4
Affichages
735
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…