je souhaite, si possible, creer un boutton de commande qui permet de supprimer des lignes dont le cellules de la colonne A contiennent un debut de valeur, j'explique :
dans la colonne A j'ai :
A1 = YX12
A2 = YX13
A3 = YX22
A4 = YX25
A5 = YX48
j'aimerai creer un boutton qui soit toujours visible en bas et me permet de supprimer des lignes de cette manniere :
taper dans une zone texte 13 25 48, une fois valider les lignes A2 A4 et A5 sont supprimées et la zone texte s'efface.
Possible ?
merci.
Re : supprimer les lignes dont les cellules contiennent....
Bonjour le fil, bonjour le forum,
Je trouve toujours excellent quand on offre plusieurs solutions à un problème donné. L'utilisateur choisira celle qui lui convient le mieux et ce ne sera d'ailleurs pas forcément la meilleure (niveau rendement, code, etc...). Mais de là à en faire un compétition... Permettez donc que je me retirasse...
Juste pour info Integer va de -32767 à 32767 mais Jean Marie a raison de préciser qu'en déclarant la variable au départ comme Long on ne risque pas d'avoir de bug sur aucun tableau mais on prend plus de mémoire de stockage (ha j'ai lu le travail deMdF sur les variables... Quel régal !!!).
Ton problème Anna est ailleurs. Quand tu rentres une variable à trois caractères (200 ou 400) CInt(Right(Cells(li, 1), Len(Tableau(I)))) provoque une erreur à la première ligne qu'il rencontre où les numéros n'ont plus que deux caractères. Puisqu'on demande alors de convertir en entier X99 (par exemple). Hier quand je t'ai proposé mon code je l'ai juste fait tourné un petit peu et il me semblait fiable. Je me rends compte aujhourd'hui qu'il ne l'est absolument pas puisque si tu tapes 10 comme variable, la ligne YX10 sera bien supprimée mais aussi les YX110, YX210, YX310, etc... Donc les porpositions de JPN (qui a eu la gentillesse d'améliorer mon code de base) et la mienne ne sont pas fiables. Je laisse le soin au compétiteurs de de trouver The Solution.
Re : supprimer les lignes dont les cellules contiennent....
Re , @ Robert : non, ne te "retirasse" point ... De compétition ici-bas le sujet n'est point ...
Pratiquant depuis longtemps Jean-Marie et Pascal, je puis dire, sans penser me tromper, que Jean-Marie est un perfectionniste jusqu'au bout des ongles, et Pascal ne se sentant pas sûr de ses propositions, se demande si sa réponse est correcte, demande légitime quand on fait une proposition, et qu'on est pas sûr de ce qu'on avance (ce qui pour moi serait un bon point pour lui, car j'ai bien peur qu'on connaissent bien trop de gens sûr d'eux, mais qui ne racontent que des co..., en y croyant dur comme fer ... Moi le premier concernant les formulistes à mes débuts et proclamant haut et fort "sans VBA, point de salut !" ). Quand à moi, j'avoue que l'esprit de compétition ne m'habite pas, tout au moins pas en dehors de mes activités professionnelles ... @ tous :
Pour revenir à nos moutons, j'avais comme Robert traduit XY par des chiffres, mais il est vrai que le code peut fonctionner avec des lettres, ou une fin en chiffre plus courte que prévue, donc il suffit de modifier
Code:
If Right(Cells(li, 1), Len(Tableau(I))) = Tableau(I) Then Rows(li).Delete
en enlevant le CInt, ce qui permet de faire une comparaison sur les caractères.
Maintenant, si effectivement, il faut retirer XY30 mais pas XY130, le code est à revoir ...
Bonne fin de journée à tous
Ben je crois que ça va me causer des problémes par la suite, aussi un autre probleme, si j'ai dans cellules de la colonne A, les valeurs "YX210" et "210", les deux lignes vont s'effacer
Re : supprimer les lignes dont les cellules contiennent....
Bonsoir le fil, bonsoir le forum,
Ce qu'il y a de "pénible" dans ce forum c'est la symphatie des gens qui l'animent qui, avec beaucoup d'humour, trouvent toujours les mots pour relativiser mes coups de gueules... Merci JNP de m'avoir remis en place.
Mais je recidive ! Et voilà un nouveau coup de gueule qui s'adresse cette fois-ci à Miss (?) Anna... Si tu avais daigné mettre un petit fichier exemple en pièce jointe avec quelques données représentatives de ton travail ça nous aurait permis de te répondre avec plus d'efficacité. Isn't it ?
Ben, c'était ta demande, supprimer toute ligne qui se termine par 210...
Si tu veux ne supprimer que les lignes 210, pas de problème, mais ce n'était pas le cahier des charges .
A +
Re : supprimer les lignes dont les cellules contiennent....
Bonsoir Robert JNP JeanMarie,Anna et tous,
bon bah je vois que le post a pas avancé il a couru,
Pour JNP oui tu sais moi je fais pour aider et c'est vrai que ta remarque est bonne pour les 13 113 etc, J'avais pas pensé !!!!!
Mais l'avantage c'est que d'avoir fait pas bien , du moins pas parfait permet d'avoir des solutions pour la prochaine fois.
Robert faut pas se fâcher on t'aime avec tes coups de grisous, autrement ce ne serait pas toi, ou tu serais malade et personne ne veut cela!!
bonne soirée à tous
Papou
Que nenni, très cher, loin de moi cette idée ... Simplement, je connais Pascal et Jean-Marie et ne m'étonne pas de leur réponses, et je pense (tout au moins j'espère ) qu'ils prennent mon message pour ce qu'il vaut, càd juste une appréciation juste et sincère des "répondeurs" de ce forum.
Pour Anna, effectivement, il serait temps qu'elle nous fournisse un échantillon exact des données à traiter...
Dans notre logique Excelienne, si on veut juste ôter 30 et pas 130, c'est que 30 est en réalité 030, et le code correspond si l'on frappe 030...
Dans la logique d'Anna, ben, comme dit Robert, un échantillon de cette logique serait le bienvenu, car il semble s'éloigner de la nôtre ...
A +
Dans notre logique Excelienne, si on veut juste ôter 30 et pas 130, c'est que 30 est en réalité 030, et le code correspond si l'on frappe 030...
Dans la logique d'Anna, ben, comme dit Robert, un échantillon de cette logique serait le bienvenu, car il semble s'éloigner de la nôtre ...
A +