|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Bonjour,
Je m'en remet une fois de plus à vous. J'ai en fait un tableau avec un certain nombre de donnée (poids, diamètre, etc). Je réalise à partir d'une combobox un tri sur ce tableau afin de ne voir qu'une seule ligne (sur les lignes sont rentrés différentes pièces mécaniques qui ont toute une désignation type RSS ou RSF, RFD, etc...). Le tri est d'ailleurs effectué selon cette désignation. Pour ce qui est du tri çà marche pas mal. Mais ce que j'essaie de faire maintenant c'est de copier la ligne que je récupère après tri et la coller dans une autre case (de manière à avoir un genre d'historique de recherche). J'ai aussi réussi a faire cette commande mais le problème c'est que je n'arrive pas à garder la valeur copiée quand je fais un autre tri (en gros à chaque fois que je clique sur mon bouton de commande). A chaque fois la valeur est effacé par celle demandé lors du dernier tri. J'espère être assez clair dans mon explication.... même si ce n'est pas simple. Je pense avoir un problème d'incrémentation mais je vois pas lequel. Si vous pouviez m'aider et me dire où je me trompes ce serait vraiment sympa!! Je poste le code que j'ai réalisé pour l'instant et vous remercie par avance Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : janvier 2007 Messages : 134 ![]() |
Bonjour
Je ne suis pas sur de bien comprendre ta question mais si je regarde ton code, à chaque fois que tu cliques sur filtre, tu réinitialise la variable iP à 5. Donc je pense que tu écris toujours au même endroit. Tu pourrais positionner cette variable en global, faire une initialisation à l'ouverture du classeur (par exemple) et ensuite faire l'incrément dans ta macro. J'espère que c'est ça ton souci. A+ |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Oui c'est bien çà mon problème. Je me suis aperçu plus tard que je réinitialisais à chaque fois. Du coup j'ai réalisé un code avec des if.. Elseif et çà fonctionne mais c'est relativement lourd en nombre de ligne. C'est pourquoi l'idée de la boucle me semble plus judicieuse. J'ai donc bien essayé de mettre iP dans ma feuille 1 mais le problème c'est que maintenant quand je lance mon filtre il me dit qu'il ne trouve pas la variable iP. Surement car elle n'est pas défini au même endroit. Comment je peux faire pour qu'il la retrouve?
Merci et désolé de ne pas être au top niveau VBA |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Bonjour,
Si tu as corrigé ton code et que tu as de nouveau un problème, post le de nouveau afin que l'on puisse t'aider
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Code :
Merci pour votre aide. Julien |
||
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
tu fais référence à la variable IP qui se trouve dans la feuille 1
Comment est déclarée cette variable dans la feuil1 et ou? Pour que cela fonctionne, il faut déclarer ta variable en Public sur la feuille (pas dans une procédure)
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Elle est déclaré dans la feuille 1 dans un command button de cette manière
Code :
Et est-ce que la référence iP2 = Worksheets("Sheet1").iP est bonne car il me dit que l'objet ne supporte pas cette propriété. |
||
|
|
00
|
|
|
#8 | |||||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Citation:
Code :
Citation:
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||||
|
|
00
|
|
|
#9 | ||
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Merci beaucoup Jérome pour ces info qui vont m'être bien utiles!!!
J'ai essayé çà marche bien pour la déclaration mais j'ai toujours un problème dans mon code. En effet quand je lance un premier filtre il m'écrit bien la valeur sur la ligne 2 (car ma valeur initial pour Ip est 2 donc çà c'est ok) Si cette ligne est renseigné il écrit sur la ligne 3 ce qui est nickel aussi mais après il réecrit toujours sur la ligne 2 alors qu'à la fin du code je lui dis d'incrémenter la variable Ip Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
J'ai posté vite mais est ce que tu vois pourquoi ma variable Ip ne s'incrémente pas à chaque fois. Encore désolé je te prend du temps mais je débute en VBA.
|
|
|
00
|
|
|
#11 |
![]() ![]() |
la variable Ip s'incrémente bien à chaque fois cependant sa valeur est ré-initialisé à chaque chargement de ton classeur (ou action sur le bouton "STOP" de l'éditeur VBA).
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#12 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
D'accord mais alors comment faire pour qu'elle ne se réinitialise pas a chaque fois que j'appuie sur mon command button?
|
|
|
00
|
|
|
#13 |
![]() ![]() |
une solution peu-être de stocker sa valeur dans une cellules d'une de tes feuilles excel..
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#14 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
j'ai fais comme tu m'as dit en incrémentant dans une cellule et çà me semble fonctionner. Du moins sur mon petit programme test çà marche bien. Il faut maintenant que je mette çà en appli sur mon vrai programme.
Merci bien à vous deux. J'avais une autre petite question mais qui n'a rien à voir avec ce problème là donc peut être faut il que j'ouvre une nouvelle discussion? Mais au cas où vous ayez la réponse directement pour ne pas surcharger . J'ai plusieurs cellule avec du texte (RAD RADS RAQ) et je voudrais pouvoir regrouper toute les valeurs de ces cellules dans une seul avec un retour à la ligne à chaque fois pour la lisibilité. J'ai essayé avec la fonction concatenete et de taper l'instruction car(10) entre les valeurs de cellules (apparement car(10) correpond à un retour à la ligne mais rien n'y fais il m'affiche dans la cellule !NAME et çà marche pas. |
|
|
00
|
|
|
#15 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
Tu peux en effet utiliser car(10) pour le retour a la ligne.
Il faut néanmoins dans le format de la cellule onglet Alignement, cocher la case "Renvoyer à la ligne automatiquement"
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
C'est bien ce que j'ai fais j'ai coché renvoyé à la ligne et taper exactement la même formule que toi mais rien n'y fait il continue de m'afficher #NAME?
J'ai essayé de taper cette formule et pareil il ne veut pas renseigner la case Code :
=CONCATENER(G20;CAR(10);G21;CAR(10);G22) |
|
|
00
|
|
|
#17 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 885 ![]() |
a tout hasard, les cellules G20, G21 et G22 ne retournent pas d'erreurs?
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#18 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Pas que je vois dans ces cellules sont simplement inscrits
RAD en G20 RAG en G21 RAQ en G22 |
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
Apparement c'est le CAR(10) qui lui pose un problème. Je suis sous office 2003 est ce que cette commande est prise en compte par la version?
|
|
|
00
|
|
|
#20 |
|
Invité régulier
![]() Étudiant Inscription : août 2011 Messages : 63 ![]() |
C'est bon j'ai trouvé. Je suis sous une version anglaise. Il ne faut donc pas taper CAR mais CHAR!!! Je te remercie quand même et à mon avis j'aurais d'autre soucis d'ici peu.
Julien |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com