Je voudrais parcourir toutes les lignes d'une feuille excel, verifier si le champs A est egal a ma variable ch et si c'est le cas, mettre la ligne dans une autre feuille excel.
Seul l'auteur du post original est habilité à accepter une réponse !
Autrement dit, ici, seul Hasen le peut et entre nous, ça m'étonnerait
bien qu'il le fasse à un seul vu qu'il n'a jamais réagit à nos
nombreuses réponses à son post !!!
Donc, c'est tout à fait normal que tu ne vois pas ce fameux bouton! Si
tu déposes un post sur le forum (et que donc, tu deviens auteur
originel), tu aurras la possibilité d'accepter n'importe quelle
réponses y compris les tiennes.
Pour trier une comboBox, je pense que depuis le temps tu as dû trouver
tout seul mais au cas où... : regarde la propriété "Sorted"
Sinon, dépose une nouvelle question sur le forum !!! Comme ça, non
seulement tu pourras tester ce fameux bouton "Réponse accéptée" mais en
plus on ne saturera pas ce post et le nouveau pourra être trouvé par
ceux qui ont (où ont eut!) le même problème...
Enjoy
( Si une réponse vous convient, cliquez sur le bouton "Réponse accéptée". )
En supposant qu'on travail sur la Feuille "Feuil1" et
que toutes les lignes sont remplies sont consécutives (qu'il n'y ait
pas de ligne vide dans la liste parcourue parce que sinon ça arrêterait
le processsus...) :
A placer dans la procédure prévue pour lancer cette opération (un click
de bouton par exemple [Private Sub monBouton_Click()], ...)
perso je ne comprends pas vmt, mais c'est pas très grave. Avec cette formule, comment peut-on copier toutes les lignes pour lesquels le champs est correct et les coller sur une autre feuille?
merci çà répond à ma question, mais qd je vais pour faire tourner le prog, la ligne
if cellule.value = ch then
est considérée comme fausse.
Sachant qu'avant d'écrire ta formule, j'ai initialisée ch de la manière suivante:
ch = combobox1 (puisque ch est la valeur sélectionnée ds ma liste modifiable de mon userform)
Quel est le pb?
merci d'avance et en espèrant que ce soit mon dernier pb.
Ceci dit, par mesur de sécurité je te conseillerais de mettre plutôt :
ch = ComboBox1.List(
ComboBox1.ListIndex)
Bon, je t'accorde que dans l'aide c'est pas forcément très clair pour
les débutants mais justement, il faut s'entrainer à lire les aides de
Microsoft (parce que c'est un art nécéssaire [comme certains mals
d'ailleurs ;-]).
Enjoy
( Si une réponse vous convient, cliquez sur le bouton "Réponse accéptée". )
ouai ouai c'est bon j'ai bien mis ce qu'il m'a dit.
en fait il me surligne en jaune la ligne: if cellule.value = ch then
Je ne vois pas ce qui cloche avec cette ligne. Est-ce en rapport avec une autre ligne du code?
Wai, en fait, tu sais pas du tout programmer c'est ça ???
'Déclaration des variables
Dim
varTxt As String
Dim varTour As Long
Dim ch
'Ca, je sais pas où tu veux ou où tu l'as mis mais en le mettant ici ça devrait fonctionner!
ch = ComboBox1.List(ComboBox1.ListIndex)
varTour = 1
Do
varTxt = ThisWorkbook.Worksheets(" Feuil1 ").Range("A" & CStr(varTour)).Value
'Quitte la routine à la 1ère cellule vide rencontrée!!!
If varTxt = "" Then Exit Do
If varTxt = ch Then
'Copie la ligne en question
ThisWorkbook.Worksheets(" Feuil1 ")..Range("A" & CStr(varTour)).EntireRow.copy
'Colle la ligne dans la feuille nommée "Feuil2" dans la cellule "A1"
'Mais a toi de la mettre dans la cellule que tu veux!!!
ThisWorkbook.Worksheets("Feuil2").Range("A1").PasteSpecial 'Ou simplement Past je pense
End If
varTour = varTour + 1
Loop
Enjoy
( Si une réponse vous convient, cliquez sur le bouton "Réponse accéptée". )
bon pour ce qui est de mes talents de programmation je fais ce que je peux.
sinon j'ai pris ton code, le pb c'est que la ligneThisWorkbook.Worksheets("Feuil2").Range("A1").PasteSpecial n'est pas bonne. Apparemment il y a un problème de dimension entre ce que je copie et là où çà doit ce coller. Je suppose donc que çà vient du fait que je copie une ligne pour la coller dans une cellule. Il faudrait donc que je lui dise de me coller la ligne sur une ligne.
Ai-je bien raison?
Et si oui je fais comment?
merci bcp
Juste un mot avant... J'espère que tu as dû remarquer
qu'a la ligne avant celle dont tu parles une toute petite mais fatale
erreur s'est glissée!!! En effet, avant Range il n'y qu'un seul point!!!
Tu as en effet bien analysé le problème! Sauf que le problème c'est
qu'il n'y en a pas!!! Du moins, sous Excel 2000. J'ai moi même fait
tous les tests et ça fonctionne qu'il y ait déjà du texte sur la ligne
de la Feuil2 ou non !!!
Donc, tu peux quand même, éventuellement, tenter de faire un truc du genre :
Mais où est ce bouton "Réponse acceptée"????????????????????
merci à tout le monde mon prog est quasi fini.
Encore une toute petite question: comment trie-t-on par ordre alphabétique dans une combobox?
merci bcp tcho