Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1130 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [EXCEL][VBA] condition sautée ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[EXCEL][VBA] condition sautée ?

n°611366
francoisp
Posté le 14-01-2004 à 08:56:58  profilanswer
 

bonjour, :hello:  
 
j'ai un souci (forcement sinon je poserait pas de question  :ange: ) et comme je suis un peu neuneu dans ce domaine j'implore votre aide.. :sweat:  
 
j'ai un tableau dont la ligne 1 est du style :

...|TOTO|TITI|TUTU|FOO|UGADM3|BAR|TATA|TETE|...


 
dans une fonction j'utilise ce code  
 

Code :
  1. serveur = UCase(serveur)
  2.     ' rechercher la bonne colone pour le serveur
  3.     For x = 3 To 33
  4.         If Cells(1, x).Value = serveur Then
  5.             colone = x
  6.             Exit For
  7.             ' pas la peine de finir les 33 boucles si on a deja
  8.             ' le numero de colone au bout de 5 boucles !
  9.         End If
  10.     Next x


 
 :non: certains vont surement dire que ma case ligne 1 contient un caractere bidon et bien non je le presice de suite j'ai reverifié et re-fait verifier 2 ou 3 fois à des personnes differentes deja... :non:  
 
 
hors pour la colone 28 c'est à dire que :

x=28 cells(1,x).value = serveur = "UGADM3"


le retour est que colone="", bien sur c'est la seule colone à échouer...
 
Plus grave encore :
-hier suite à énervement à ce sujet j'ai ajouter au code un correctif tel que :

Code :
  1. ' passage au fichier destination
  2.     serveur = UCase(serveur)
  3.     ' rechercher la bonne colone pour le serveur
  4.     For x = 3 To 33
  5.         If Cells(1, x).Value = serveur Then
  6.             colone = x
  7.             Exit For
  8.             ' pas la peine de finir les 33 boucles si on a deja
  9.             ' le numero de colone au bout de 5 boucles !
  10.         End If
  11.     Next x
  12.     If serveur = "UGADM3" Then
  13.         colone = 28
  14.     End If


bien sur ceci fonctionnait.  
j'ouvre ce matin le fichier, relance le fichier et hop  
non seulement le premier ifn'as pas executé pour ce cas
à savoir que donc pour excel

"UGADM3"!="UGADM3

ce qui mon problème original et en plus le second ifqui sert de correctif à cela n'a pas été lui non plus executé (en tout cas pas ce qui est entre le if et le end if.
 
voila ce que j'ai dejà fait comme tests à ce sujet :
 

  • utiliser plusieurs machines (w2k office w2k, w2k office xp, xp office XP, xp office w2k) = meme problemes
  • ajouter dans le code des affichages de MSGBOX pour controler les valeurs au moment du bug = affichage de "UGADM3"!="UGADM3" ce qui est abherant...excel ne sait pas comparer deux valeurs ?
  • réecrire entierement à la main (pas de copier coller) le meme code dans un fichier nouveau sur une machine independante du reseau configurée pour l'occasion ! (au cas ou ce serrait du à une mauvaise installation ou un virus). resultat meme bug
  • faire relire le code par 3 personnes differentes  


 
bref je ne comprend pas tout semble bon mais pourtant ce bug persiste et signe...  :(  
 
 
PLEASE HELP......
conseillez moi, dites moi si j'ai fait une boulette quelque part, ou utilisé une mauvaise methode, ou koi  :??:  
 
PS: l'idée de base pour etre clair est de balayer la ligne 1 pour selectionner le n° de colone à integrer dans la variable colone tout simplement si j'ose dite...
 
voilà le bug sur lequel je bute depuis lundi quand même...


Message édité par francoisp le 14-01-2004 à 09:10:51

---------------
If everything else failed then read the instructions
mood
Publicité
Posté le 14-01-2004 à 08:56:58  profilanswer
 

n°611584
MagicBuzz
Posté le 14-01-2004 à 13:35:17  profilanswer
 

Essaie :
 
If UCase(Trim(Cstr(Cells(1, x).Value))) = UCase(Trim(Cstr(serveur))) Then
 
Si ça marche toujours pas, je te suis pour élever des chèvres dans le Larzac :D

n°611588
ixemul
Nan mais sans blague ! ⚡
Posté le 14-01-2004 à 13:38:21  profilanswer
 

le trim c'est bon, mangez en ! :D

n°611594
francoisp
Posté le 14-01-2004 à 13:52:08  profilanswer
 

heu....
tu veux mappy ou viamichelin comme carte pour aller dans le larzac ?
 
 
UGADM3
1/12
2/12
3/12
4/12
5/1
6/1
7/1
8/1
9/1
10/12
ss
12/1
13/11  <-- meme probleme tjrs pas passer le cas (on devrait y voir 13/1 et en debug mode on a effectivement et comme tjrs les valeurs attendues mais le if ne s'execute pas bien que la condition soit remplie....
14/12
15/12
16/12
17/12
18/12
19/12
off
21/12
22/12
23/12
24/12
25/12
off
27/11
28/12
29/12
30/12
off
 
merci quand meme l'idée était bonne....
 


---------------
If everything else failed then read the instructions
n°611597
MagicBuzz
Posté le 14-01-2004 à 13:56:32  profilanswer
 

Essaie .Value2 ou chais plus quoi

n°611599
francoisp
Posté le 14-01-2004 à 13:59:35  profilanswer
 

non plus...
 
ouinnn je comprend rien... pkoi y marche pas  


---------------
If everything else failed then read the instructions
n°611606
ixemul
Nan mais sans blague ! ⚡
Posté le 14-01-2004 à 14:13:18  profilanswer
 

Code :
  1. ' rechercher la bonne colone pour le serveur
  2.    For x = 3 To 33
  3.        TmpValue = Cells(1, x).Value
  4.        If UCase(Trim(Cstr(TmpValue))) = UCase(Trim(Cstr(serveur))) Then
  5.            colone = x
  6.            Exit For
  7.            ' pas la peine de finir les 33 boucles si on a deja
  8.            ' le numero de colone au bout de 5 boucles !
  9.        End If
  10.    Next x

 
 
on sait jamais  [:spamafote]  
 

n°611607
francoisp
Posté le 14-01-2004 à 14:17:45  profilanswer
 

helàs non.... meme simptomes pour cette colone  
il ne passe pas par la ligne
colone=x bien que le if soit OK d'apres les espions du debugger...
 


---------------
If everything else failed then read the instructions
n°616285
itawa
Posté le 20-01-2004 à 06:17:17  profilanswer
 

et tu n'aurais par hasard une colonne cachee ????

n°616789
francoisp
Posté le 20-01-2004 à 17:11:12  profilanswer
 

non pas de colonnes cachée  
j'ai essayé des trucs comme changer la colone de place avec une autre...
etc...
 
 
et le phenomene est aleatoire car ce matin je l'ai lancé et paf ca marche....
hier matin ca marchait pas...
et j'y ai pas touché entre temps...
je la relance tous les matins de toute façon puisque pour toute colone qui fonctionne ca me fait gagner du temps ...


---------------
If everything else failed then read the instructions

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [EXCEL][VBA] condition sautée ?

 

Sujets relatifs
[VBA][Excel]definir la selection dans une macro [resolu]Impression sous Excel via VB
Cree un fichier .BAT avec une condition[VB] Excel et RichTextBox
[VB.net] Ouvrir un fichier Excel a un endroit spécifié.[VBA Excel] Recherche spécial dans une chaine de caractère ?
[VBA Excel] Je suis nul en VBA aidez-moi svp 
Plus de sujets relatifs à : [EXCEL][VBA] condition sautée ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR