• Initiateur de la discussion Initiateur de la discussion nanor
  • 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 !

N

nanor

Guest
Salut le forum,

Bonne journée à tous sous ce soleil radieux !!
J'ai un petit problème avec un script et j'espère que vos lumières m'aideront.
Dans ce code je cherche à tester si 2 valeurs sont égales, auquel cas, j'applique la formule. A priori mon erreur se trouve dans ce que j'ai mis en gras mais je ne trouve pas la bonne syntaxe.


For Ligne = 3 To 500
Select Case (UCase(Range("B" & Ligne).Value))
Case Is = B & (Ligne + 1)
Range("F" & Ligne).Formula = "DAYS360(RC[-5],R[1]C[-5])"
End Select
Next


Merci pour votre aide.
nanor
 
Salut à tous et à toutes,

Essaye ça :

For Ligne = 3 To 500
Select Case (UCase(Range("B" & Ligne).Value))
Case Is = Range("B" & Ligne + 1)
Range("F" & Ligne).Formula = "DAYS360(RC[-5],R[1]C[-5])"
End Select
Next


sinon pourquoi ne pas utiliser :

For Ligne = 3 To 500
If Range("B" & Ligne) = Range("B" & Ligne + 1) Then
Range("F" & Ligne).Formula = "DAYS360(RC[-5],R[1]C[-5])"
End If
Next

Bon courage

Baroude
 
Génial ca marche du tonnerre!!!
Merci beaucoup Baroude.

Comme j'y suis ya une commande que j'aimerais utiliser mais j'ai jamais réussi à la faire fonctionner.

En fait j'aimerais remplacer :
For Ligne = 3 To 500
par
While Not IsEmpty(Range("A"))

En gros je voudrais appliquer ma fonction tant qu'il y a des valaurs dans la colonne A.

Merci d'avance si tu as une idée.
nanor
 
Re-Salut,

Essaye ça :

For Ligne = 3 to WorksheetFunction.Count(Range("A:A"))

utilises Count si dans ta colonne A tu as que des valeurs numériques ou sinon utilises CountA si tu as des valeurs alphanumériques...

Benne journée
 
Tiens, comme j'y pense, j'ai une dernière question sur le même sujet (j'espère la dernière...)

Est-ce qu'il y a un moyen de faire un truc du même style que:

For Ligne = 3 to WorksheetFunction.CountA(Range("A:A"))

mais en ayant une valeur de fin (par exemple la valeur "FIN" dans une cellule).

For Ligne = 3 to WorksheetFunction.CountA(Range"A:A")).Value = "FIN"
--> Ca veut surement rien dire ce que j'ai écrit...

Merci
nanor
 
Comment je fais ?

c'est simple... je me ballade sur le forum, je pioche des infos à droite à gauche et je regarde l'aide VBA avec les exemples (surtout les exemples)...
Et puis un jour j'ai regardé TOUTES les formules existantes dans Excel, ça donne une idée, parce que le tout, c'est d'avoir une philosophie de travail, de se dire... oui c'est possible ou bien merdoum ça va pas être facile... mais bon, tout ça dans la bonne humeur et la patience....

Bonne journée

Baroude
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
892
  • Question Question
Réponses
1
Affichages
1 K
Réponses
0
Affichages
1 K
Retour