Code VBA selection conditionnelle
Fermé
QuentDB
Messages postés
6
Date d'inscription
mardi 28 juin 2016
Statut
Membre
Dernière intervention
23 août 2016
-
30 juin 2016 à 14:00
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 juin 2016 à 18:49
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 juin 2016 à 18:49
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
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
A voir également:
- Code VBA selection conditionnelle
- Mise en forme conditionnelle excel - Guide
- Le code ascii - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
2 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
30 juin 2016 à 15:12
30 juin 2016 à 15:12
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
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
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
30 juin 2016 à 17:33
30 juin 2016 à 17:33
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 ?
je m'y mets demain matin si j'ai ce classeur
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
QuentDB
Messages postés
6
Date d'inscription
mardi 28 juin 2016
Statut
Membre
Dernière intervention
23 août 2016
30 juin 2016 à 17:47
30 juin 2016 à 17:47
Merci beaucoup pour ton aide michel_m mais j'arrive a mes fins avec ce code. Je vais donc m'en contenter.
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
>
QuentDB
Messages postés
6
Date d'inscription
mardi 28 juin 2016
Statut
Membre
Dernière intervention
23 août 2016
30 juin 2016 à 18:49
30 juin 2016 à 18:49
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.
30 juin 2016 à 16:30
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.