Excel - VBA - StrComp(Mid(CStr(Range()))) Problème
Résolu/Fermé
HugoHerbomez
Messages postés
57
Date d'inscription
dimanche 15 juillet 2012
Statut
Membre
Dernière intervention
2 mars 2017
-
Modifié par HugoHerbomez le 24/01/2017 à 16:26
f894009 Messages postés 17257 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mars 2025 - 25 janv. 2017 à 10:35
f894009 Messages postés 17257 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mars 2025 - 25 janv. 2017 à 10:35
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
24 janv. 2017 à 18:21
24 janv. 2017 à 18:21
Bonsoir Hugo, bonsoir le forum
peut-être comme ça :
Mais en N20 tu auras toujours -1, 0 ou 1 (regarde l'aide de la fonction CtrComp). Je ne comprends pas ce que tu veux dire par Je voudrais que anneeS est égale à 2017 !
peut-être comme ça :
With ActiveSheet Dim d As String Select Case .Name Case "Traitement Biocide" I = 12 d = CStr(.Range("B12").Value) .Range("N18") = CDate(d) .Range("N19") = Mid(d, 7, 4) .Range("N20") = StrComp(Mid(d, 7, 4), anneeS, 1) End Select End With
Mais en N20 tu auras toujours -1, 0 ou 1 (regarde l'aide de la fonction CtrComp). Je ne comprends pas ce que tu veux dire par Je voudrais que anneeS est égale à 2017 !
24 janv. 2017 à 18:29
Un peu different mais ca se rejoint
Et comme vous le strcomp, comprends pas trop vu que AnneS pas affectee
Modifié par HugoHerbomez le 25/01/2017 à 09:32
je vous remercie pour l'aide apportée,
Mais en N20 tu auras toujours -1, 0 ou 1 (regarde l'aide de la fonction CtrComp). Je ne comprends pas ce que tu veux dire par Je voudrais que anneeS est égale à 2017 !
Justement mon résultat n'est pas le bon, je recommence tout mon problème avec vos mise à jour !
Alors j'ai ce code :
Et sur Excel j'ai les résultats suivant :
N16 : 10/01/2017 --> Là on est d'accord
N17 : 01/10/2017 --> Là le mois et le jour sont inversé mais ça passe
N18 : 09/07/1905 --> Là J'ai pas l'année je sais pas pourquoi
N19 : juil-05 --> Là J'ai pas l'année je sais pas pourquoi
N20 : 00/01/1900 --> Et ici j'ai tout sauf un 1, un 0 ou un -1
Donc ça ne va pas du tout !!!!! Sachant que ma cellule B12 et B13 sont fusionnés et qu'elle est égale à '10/01/2017'
De plus mes trois dernières lignes de code permettent d'incrémenter ma recherche de ligne en fonction de l'année entrée dans une texteBox, anneeS est donc déjà un String, je pense que le problème n'est pas de ce côté.
En gros tant que l'année entrée (anneeS) est plus petite que l'année dans la cellule, je passe à la suivante et ainsi de suite, c'est pour cela que je fait i = i +2, vu que mes cellules sont fusionnées 2 par 2 sur la colonne.
Pour information Les opérations de N16 à N20 sont juste des test, elles ne sont pas importante à mon code, c'est juste pour vous expliquer les résultat et les potentielles zones de problème(s).
Voilà :D
Mis à jour -----> J'ai fait la même opération sur N22,N23,N24,N25 et N26 et j'ai les bon résultats cette fois ci je ne comprend rien...
25 janv. 2017 à 09:29
Pour éviter de tourner en rond, je pense qu'un fichier joint est nécessaire... Regarde du coté de https://www.cjoint.com/ (ou d'autres il y en a plein).
Modifié par f894009 le 25/01/2017 à 09:34
E si vous mettiez votre fichier a dispo, ce serait plus simple, vu que vous ne mettez a chaque fois qu'un morceau du puzzle
dans une texteBox, anneeS
Ah Oui, mais dans votre code elle est ou la valeur de cette textbox?
De plus
N17 : 01/10/2017 --> Là le mois et le jour sont inversé mais ça passe
Normal puisque nous vous avons donne ce qui marche et vous utilisez ce qui ne marche pas!!!!!!!!
Modifié par HugoHerbomez le 25/01/2017 à 09:44
Mais vos fonctions de départ m'ont aidé à améliorer mon code, merci beaucoup!