Code VBA selection conditionnelle

QuentDB Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaite créer une macro qui permettrait de faire une sélection dans un fichier excel de toutes les lignes (de la colonne A à Q) dont la colonne A est différente de "0".

Je suis novice sur VBA et je n'ai aucune idée de la manière de procéder.

Quelqu'un pourrait-il m'aider ?

Merci d'avance

2 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour

quand tu parles sélection: suppression des zéros ou masquage ?
et où restituer ?

tu peux le faire sans VBA

tu sélectionnes ton tableau (lignes et colonnes)
filtrer
clique sur la petite flèche dans la colonne A
décoche le Zéro

tu peusx aussi le faire avec l'enregistreur de macro
0
QuentDB Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour michel_m,

Tout d'abord merci pour ta réponse.

En fait, j'ai besoin de sélectionner toutes les lignes (et colonne de A à Q) dont la colonne A est différente de 0 pour copier cette sélection dans un autre classeur qui traitera ces données.

Effectivement je peux utiliser les filtres mais j'ai des dizaines de milliers de lignes donc cela reste long pour la sélection ensuite. Et cette macro à pour but de gagner du temps dans le traitement.

Et l'enregistreur de macro va mémoriser une ligne particulière comme étant la dernière qui ne correspondra pas avec ma prochaine importation.

Toutefois, qqun m'a renseigné et j'arrive à mon but avec ce code :

Sub SélectionnerNonVide()

Dim vide As Boolean
Dim i As Integer
i = 2
vide = False

While vide = False
If (Cells(i, 1) = 0) Then
vide = True
End If
i = i + 1
Wend

i = i - 2

Range("A" & 2 & ":P" & i).Select

End Sub

Si cela peut aider pour qqun d'autre à l'avenir.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Avec des dizaines de milliers de ligne, la solution cellules par cellules que tu décris est particulièrement chronophage et il faut raisonner par des "variables-tableaux" qui devraient réduire le temps en secondes
question: as tu + de 65536 lignes ?

Mettre un extrait du  classeur(environ 2000 à 3000lignes) sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse


je m'y mets demain matin si j'ai ce classeur
0
QuentDB Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour ton aide michel_m mais j'arrive a mes fins avec ce code. Je vais donc m'en contenter.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > QuentDB Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
J'en prend acte mais c'est un très mauvais code qu'on t'a communiqué: il y a beaucoup de chose qu'il faut pas faire même si ca marche.
0