Quand tant de fées se penchent sur ton berceau, précise à laquelle tu t'adresses
Quand tant de fées se penchent sur ton berceau, précise à laquelle tu t'adresses
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
C'est good, j'avais oublié qu'une fonction on pouvais l'utiliser direct dans le code ahahahah
DOnc voila ce que ça donne :
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part Range("C" & compteur).Value = DIM3(Cells(compteur, 2))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function DIM3(s As String) As Double DIM3 = Val(Split(s, "X")(1)) End Function
MERCCCIIIIII
Sinon, pour ce qui est de ton erreur dans la feuille Excel, il faut seulement changer le nom de la fonction : "dim1" est l'adresse d'une cellule et Excel n'aime pas ça.
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
En ouvrant ton fichier je viens de voir que tu n'avais pas encore tout dit sur la chaine à analyser...
Vu que tu as du texte devant ça ne fonctionnera pas s'il y a un autre X.
eric
Bonjour,
j'espère que tout le monde va bien depuis hier.
Je vous remercie de vos réponses. En relisant les réponses de chacun, je m’excuse de ne pas exposer mon problème dès le début, mais c'est en continuant mon programme et en faisant des tests que je trouve des contraintes. Donc par la suite je les expose, si je ne trouve pas la solution.
Voila aujourd'hui la fonction que j'utilise. C'est la fonction que Eric m'a exposé et je le remercie.
Cette fonction marchait très bien jusqu'à ce que je test sur une série de produit dont la désignation est la suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Function dim3() dim3 = Val(Split(s, "X")(1)) End Function
Eric tu as été devin sur ce coup là :'MAX 120*270X10Et la fonction me renvoie 0. Je n'avais pas pris en compte au cas où la désignation comportait un X.En ouvrant ton fichier je viens de voir que tu n'avais pas encore tout dit sur la chaine à analyser...
Vu que tu as du texte devant ça ne fonctionnera pas s'il y a un autre X.
eric
Est ce possible de faire la recherche du X de la fin vers le début. Car si nous recherchons le X de cette manière, nous trouverons toujours le X que nous souhaitons.
J'espère avoir été clair. En une journée, j'ai découvert encore beaucoup de chose grâce à vous.
Mais la, une nouvelle fois, je bloque.
Je vous remercie d'avance pour vos réponses, et vous remercie de votre collaboration.
Cordialement
Vincent
Utiliser la fonction InStrRev à la place de la fonction InStr …
C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
Tu pourrais... ou alors, remplace :
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part dim3 = Val(Split(s, "X")(1))
Code : Sélectionner tout - Visualiser dans une fenêtre à part dim3 = Val(Split(s, "X")(UBound(Split(s, "X"))))
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Merci à tous pour vos réponses.
J'ai utilisé la méthode de Daniel qui marche comme sur des roulettes.
Deux questions :
Peux tu me décrire la fonction que tu m'as donné? Car en effet ça marche mais je ne comprends pas la démarche. Histoire de dormir moins bête.
Comment faites vous pour être si compétant lol
Cordialement
VIncent
Bonjour,
Split(s, "X") te découpe la chaine à chaque "X" dans un tableau.
Si tu as 2 X, l'index du tableau ira de 0 à 2. Pour avoir le 2ème élément tu fais donc = nomTableau(1)
Ubound() te retourne l'index maxi.
L'index du dernier élément (qui commence par ton nombre recherché) est donc UBound(Split(s, "X"))
eric
Nous lisons l'aide.
Nous utilisons les explorateurs d'objets.
Nous faisons du pas-à-pas (F8) en ayant affiché les fenêtres de l'interface de programmation (telle que celle des variables locales) et analysons les variables et objets à chaque étape.
Nous utilisons la touche F1 à chaque fois que nous avons un doute sur une syntaxe et/ou des paramètres.
Et, surtout, pratiquer et encore pratiquer et ne pas s'arrêter à la moindre difficulté.
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Bonjour,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub test() Debug.Print Xnum("120*275X152E52x152") End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Function Xnum(V) As Long Dim aa Dim Fin As Boolean aa = Split(UCase(V & "xx"), "X")(1) For I = 1 To Len(aa) If IsNumeric(Mid(aa, I, 1)) = False Then Fin = True If Fin = True Then Mid(aa, I, 1) = "~" Next Xnum = Replace(aa, "~", "") End Function
Dernière modification par Invité ; 19/09/2014 à 15h45.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager