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

XL 2010 fonction vlookup réticente ? (vba) [RESOLU]

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Voilà j'ai dû rétrécir un max mon appli énorme ( chaque fichier comportait 200 onglets) et j'ai donc refait 2 fichiers avec le minimum
J'ai fait ça il y a 2 ans pour une amie qui gère une Ludothèque et qui font une "Bourse" chaque année .... là 3eme 'Bourse' et encore des bugs
Mais celui ci est vraiment bizarre ??? j'y ai déjà passé pas mal de temps mais 'creux' je ne vois pas pourquoi ? , j'explique le fonctionnement
Les onglets vendeurs sont du copier/coller de fichiers xlxs individuels reçu en inscription à cette Bourse , ensuite tout est rempli auto par des recopies via formules basiques
Le jour de la "Bourse" les gens prennent les jeux et passent en caisse , là le logiciel agit >

- Vous ouvrez le fichier ACHATEURS > VENDEURS va s'ouvrir auto. ( faut le même répertoire )
- Un USF se lance ( et se relance à chaque 'Activate" de l'onglet 'Toutes Les Listes')
Pour les essais : juste entrer le N° acheteur ... il n'y en a qu'un !! ici > choisir un code Jeu dans la liste ou taper CEUX qui fonctionnent sont de 1 à 20
Les box se remplissent bien
Si vous entrez un jeu en code 17xx > Erreur en ligne textbox6 comme ci dessous
VB:
Private Sub CodeJ_AfterUpdate()


Call vendu ' Vérifier si saisie manuelle du code le jeu n'est  pas déjà Vendu

If CodeJ = "" Then Exit Sub

TextBox6.Value = Application.WorksheetFunction.VLookup(CDbl(CodeJ), Sheets("TOUTES LES LISTES").Range("B4:D2005"), 2, 0) ' Recherche du Code et affecte le libellé

Cout = Format(Application.WorksheetFunction.VLookup(CDbl(CodeJ), Sheets("TOUTES LES LISTES").Range("B4:D2005"), 3, 0), "#,##0.00")
If Cout = "" Then MsgBox "Prix non renseigné ": Exit Sub
Prix = Cout

If TextBox6 = "Jeu Inexistant" Or JDV = 1 Then CodeJ = "": Exit Sub
Total = Total + CDbl(Prix)
Tfac = Format(Total, "#,##0.00")
End Sub
Si Essai réussi VALIDER , pour recommencer > EFFACER le code Jeu dans la fiche acheteur 1 car normalement on passe au suivant
Pour moi ce n'est pas un BUG !! mais un ALEA puisque tout le reste fonctionne sauf avec les jeux de la liste de 1700 ? il n'y a que cette fiche qui merdoie ???
dès le code jeu entré > ERREUR
Là je pige pas ce que c'est ??? je ne sais pas interpréter cette erreur
Merci bien de votre aide pour une explication
 

Pièces jointes

  • forumAV.zip
    245.6 KB · Affichages: 13
Dernière édition:

oguruma

XLDnaute Occasionnel
Bonjour déjà bcp de contribution sur les tentatives de solutions mais la première phrase du sujet concernant l'application Excel : des fichiers comportant 200 onglets !
ça me laisse un peu songeur....
je sais que l'on fait avec les moyens du bord surtout pour des associations qui n'ont ni les compétences ni les logiciels ni le matériel mais Excel était-il le bon outil ? ou peut-être réduire la voilure de l'automatisme en mixant le manuel papier crayon et la feuille de calculs
voilà juste un constat productif
 

herve62

XLDnaute Barbatruc
Supporter XLD
@job75 : c'était le portable de mon neveu pas fait gaffe que c'était pas mon compte en cours

En fait !! pas convaincu car j'ai refait des tests !! c'est toujours pareil
@job75 : regarde un peu ce nouveau dossier pour pas mélanger avec le 1er j'ai interverti les formats des 2 listes les 1700 en nombre et de 1 ...... en texte ce dernier fonctionne quand même mais toujours pas les 1700
Quelque chose m'échappe ??
Sinon je vais tenter de rétrécir le vrai fichier au max pour le joindre car même en mettant des NOMBRES ça ne va pas ; Si tu trouves pourras tu m'expliquer ce qui fait que je n'y arrive pas ??

@oguruma : tu as vu les onglets ? c'est du léger !! et tous les 2 n'avons que Excel en commun , nous sommes des particuliers ; Depuis 2 ans mon amie a relevé : plus de 30 heures de gain , il y a la prépa > enregistrer les fiches ( auto) , le jour de vente > fiches remplies auto ; L'après Bourse > Bilan , restitution aux vendeurs > auto ; Là j'ai juste mis un minima de la vente . Et je peux te dire que l'asso est super heureuse , là c'est juste un Pb de libellé mais tous les comptes étaient juste . Chose très difficile avec papier crayon ( je peux en parler en connaissance de cause ex Président d'asso sportive durant 20 ans)
 

Pièces jointes

  • forumAV2.zip
    243.9 KB · Affichages: 4
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour le forum,

Alors herve62 vous vous moquez du monde : c'est le même problème que précédemment !!!

Dans le fichier vendeurs feuille "1761 - 1780" revalidez les textes 1761 à 1780.

Pour qu'ils deviennent des nombres.

A quoi a servi mon post #11 je vous le demande ?

A+
 

TooFatBoy

XLDnaute Barbatruc
Bah c'est pour ça que j'ai dit revalidez !
Peut-être, mais apparemment il n'a pas compris que c'était le contenu qui devait être un nombre puisque c'est le format d'affichage des cellules qu'il a mis en "Nombre", donc je lui explique son erreur !

Et ne centrez pas la colonne B pour qu'on puisse voir s'il s'agit de textes ou de nombres !
Ca aussi je le lui ai déjà dit deux fois !
 

job75

XLDnaute Barbatruc
Peut-être, mais apparemment il n'a pas compris que c'était le contenu qui devait être un nombre puisque c'est le format d'affichage des cellules qu'il a mis en "Nombre", donc je lui explique son erreur !
En effet bien qu'inscrit depuis 2005 notre ami n'a peut-être pas encore compris que formater une cellule ne modifie pas la nature de son contenu.
 

herve62

XLDnaute Barbatruc
Supporter XLD
En effet bien qu'inscrit depuis 2005 notre ami n'a peut-être pas encore compris que formater une cellule ne modifie pas la nature de son contenu.
Non pas compris car depuis 1983 j'étais analyste programmeur en electronique pour piloter des machine et développer des programmes de test de cartes , j'ai découvert EXcel en 2002 et comme il y avait du VBA je m'y suis mis petit à petit , mais comme je vois, rien à voir avec du SHELL , UNIX , C++ ..etc ; d'ailleurs à part les opérations basiques je suis incapable d'écrire des formules à rallonge !!! Honnêtement pour moi EXcel ne sert qu'à afficher le résultat de traitements via VBA ( ou comme j'ai dit des formules "basiques" ) qui est plus simple que ACCESS que plus personne n'utilise
Bah c'est pour ça que j'ai dit revalidez !
C'est quoi ?? désolé je sais pas ?? ChatGPT me dit de faire ça (image ) j'ai suivi , ce qui me donne pour le fichier VENDEURS comme dit au #11 ( image 2)
Je relance mon appli > TOUJOURS même erreur
désolé d'être si NUL !! chacun sa science !!!!!!
 

Pièces jointes

  • proc_reval.jpg
    75.3 KB · Affichages: 9
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Sélectionner toutes les données entrées sous forme de texte (de la cellule B10 à B29)
Un petit triangle vert alerte de l'incohérence - Cliquer sur la petite flèche à côté du panneau de signalisation

Il suffit de cliquer sur "Convertir en nombre"
Et voili
Bonne journée
 

herve62

XLDnaute Barbatruc
Supporter XLD
demo en vidéo ( au plus court pour joindre ici) , j'interprète ce que vous écrivez OU est mon erreur , là ça va devenir simple à voir?
Déjà je ne sais pas reproduire en faisant exactement pareil : Ou est le Triangle d'avertissement ??? je connais j'en ai déjà eu ,mais là euh ??
Je n'ai jamais eu tel Pb !!!!!!!!!!!!
Pour revalider une cellule clic dans la barre de formule et touche Entrée.
j'ai fait aussi , rien ne se passe ... et le reste pas de Changement pour l'erreur
 

Pièces jointes

  • demo.zip
    876.6 KB · Affichages: 4

TooFatBoy

XLDnaute Barbatruc
C'est
j'ai fait aussi , rien ne se passe ... et le reste pas de Changement pour l'erreur
Dans ta vidéo tu ne fais que revalider des formules, c'est sûr que ça ne va rien changer.
Ce sont bien sûr les données sources qu'il faut mettre en nombre.


Rappel :
Dans ta fiche "1761-1780", et donc aussi dans ton fichier "acheteurs", tout est en textes et non en nombres.
 
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…