Select case

Résolu/Fermé
daiman Messages postés 41 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 17 mars 2008 - 8 mars 2008 à 22:54
 daiman - 10 mars 2008 à 12:52
Bonjour,
je voudrais crée une macro qui viendrais changer les données d'un "select case" se trouvant dans une autres macro.
j'activerai cette macro via un bouton qui me proposerai soit d'ajouter soit de supprimer des données dans le "select case". on m'a proposer de passer par un tableau et par un "select case". j'ai tortillé le problème dans tout les sens je n'y arrive pas.
merci de votre aide

7 réponses

Bonjour,

Tu n'y arrives pas parce que ce n'est pas possible, on ne peut pas modifier le code quand on execute une macro.
Tous les cas d'un select case doivent etre connus au moment de l'execution. Mais il y a peut-etre une autre manière de resoudre ton problème. De quoi il s'agit exactement?

A+
0
simo--oker Messages postés 8 Date d'inscription lundi 3 mars 2008 Statut Membre Dernière intervention 14 avril 2008
8 mars 2008 à 23:45
lol ; Mais il ya toujour une solution
0
bonjour,
je me suis mal exprimé. j'ai crée un fichier xls qui va chercher des donnée sous forme slk dans un serveur.
toute les données ne nous interresse pas, sauf ceux qui contienne au moins une fois une valeur bien défini.
c'est valeur sont amené à changer de temps en temps. il s'agie de millier de ligne par fichier. pour eviter des loupés j'ai crée un fichier xls qui va chercher le fameux slk sur le serveur. ensuite grace au "select case" je compare toute les cellule avec les élément de mon select case. quand il trouve une égalité je copie la ligne entière dans un autres feuille.
en ce qui me concerne je suis capable de changé le code de ma macro et donc d'ajouter ou de supprimer des élément de mon select case, mais mes collègues ne pourrons pas le faire. iol m'attende à chaque fois..........
je ne souhaite pas changé les éléments du "select case" pendant l'execution de celle-ci mais bien avant. c' à dire à l'ouverture du fichier nous savons déjà ceux qui à changer. donc avant d'executer la macro contenant le "select case" je voudrais changer des élément dans ce select case. voilà
merci de ton aide
0
Bonjour,

Je ne sais pas si j'ai bien compris mais voila ce que je ferais.

Au lieu d'utiliser un select case, j'utiliserai une feuille excel ou je noterai dans une colonne toutes les valeurs qui m'intéressent le pour J.
Ensuite je lirai le fichier slk ligne par ligne et je comparerai avec la liste des valeurs contenues dans ma feuille excel. Chaque fois qu'une la valeur du slk est contenue dans ma liste , je transfère la ligne dans une autre feuille comme tu le faisait avant.
Une telle liste est facilement modifiable, pas besoin d'avoir de connaissances particulières en VB. Il faut juste savoir lancer une macro.

A+.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonjour amigo,
oui sa serait une solution. en mettant mes veleur dans une feuille effectivement elle devient facilement modifiable.
par contre la comparaison des cellules de ma liste avec les ligne du slk je vois pas comment faire. pourrais-tu m'aiguiller stp?
merci d'avance
0
OK,

ça pourrait ressembler à ça:
Sheets("feill1").select ' je me positionne sur la feuille ou j'ai mis les mots à chercher
range("A1").select ' je me positionne sur la première cellule
i=1 ' index de ligne
texte2=range("A1").text 'texte à rechercher dans slk
Open "fichier.slk" for input as #1
while not eof(1)
   line input #1, texte1 ' texte du fichier slk
   while texte2<>""
      if texte1=texte2 then  ' comparaison de la ligne de texte slk et de la ligne tableau excel
        '
        'mettre ici les instructions
        '
        texte2="" ' pour sortir de la boucle
      else
         i=i+1
        texte2=range("A" & i).text 'comparaison suivante
      end if
   wend
wend
close


La comparaison peut se faire sur la ligne entière ou partiellement par mots clés.

Si ça peut convenir, donnes moi des détails sur ce qu'il faut comparer et ou stocker les lignes slk sélectionnées
Si tu n'arrives pas à écrire le code je pourrais continuer, demain.

Salut.
0
merci,
avec sa j'ai les base pour travailler. encore merci
0