Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2011, 15h06   #1
Membre du Club
 
Inscription : novembre 2003
Messages : 155
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 155
Points : 66
Points : 66
Envoyer un message via ICQ à jncoffy
Par défaut Eliminer les lignes vides d'une liste

Bonjour

Voici mon problème.

Je dispose dans une feuille de classeur, en colonne A, d'une liste d'éléments. En colonne B, en face de chaque élément, j'écris OUI pour ceux que je souhaite conserver.

Ensuite, dans une autre feuille, par une fomule SI, de ne conserve que les éléments pour lesquels j'ai répondu OUI. Pour cela j'écris la formule suivante et je la recopie.
Code :
=SI(Feuil1!colonneB="OUI";ColonneA;"")
Là, ça marche. Sauf que, évidemment, du coup j'obtiens des lignes vides. Je pensais alors utiliser la fonction 'Collage spécial' - 'Blancs non compris' pour obtenir une troisième liste expurgée des lignes vides. Mais ça ne marche pas. Du coup, je me demande à quoi sert cette option.

Maintenant voici ma question

Comment obtenir une liste d'éléments qui ne conserve que ceux pour lesquels j'ai répondu OUI dans la première feuille, sans aucune ligne vide.

Merci de votre aide

Jean Noël
jncoffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 16h05   #2
Membre habitué
 
Femme
Support utilisateur - autodidacte
Inscription : octobre 2010
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Suisse

Informations professionnelles :
Activité : Support utilisateur - autodidacte
Secteur : Finance

Informations forums :
Inscription : octobre 2010
Messages : 84
Points : 108
Points : 108
Je te propose de filtrer ton tableau sur la colonne qui contient tes "Oui", de copier puis coller tes cellules dans une nouvelle plage.
++
Smar6ty4
smar6ty4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 16h16   #3
Membre du Club
 
Inscription : novembre 2003
Messages : 155
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 155
Points : 66
Points : 66
Envoyer un message via ICQ à jncoffy
Ah oui, effectivement, ça marche. Je dois avouer que je n'y avais pas pensé. Je vais voir maintenant comment je peux automatiser tout ça.

Merci Smar6ty4 pour ton aide éclairée.

Mais, pendant que je tiens, peux tu me dire à quoi correspond l'option 'Blancs non compris' que l'on a dans la commande 'Collage Spécial' ?

Jean Noël
jncoffy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 16h30   #4
Membre habitué
 
Femme
Support utilisateur - autodidacte
Inscription : octobre 2010
Messages : 84
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : Suisse

Informations professionnelles :
Activité : Support utilisateur - autodidacte
Secteur : Finance

Informations forums :
Inscription : octobre 2010
Messages : 84
Points : 108
Points : 108
Cela permet d'empêcher que les cellules vides contenues dans ta plage sélectionnée pour le "copier" ne remplacent des données existant dans la zone de collage.
Exemple : plage A1:A6 sélectionnée avec A4 vide -> collage "blancs non compris" dans plage B1:B6 -> contenu de B4 sera conservé.
Euh ... j'espère avoir été claire :-)
++
smar6ty4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 18h18   #5
Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 37
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2011
Messages : 37
Points : 45
Points : 45
Bonjour,

Pour supprimer les lignes vides tu peux aussi utiliser le code VBA suivant
Code :
1
2
3
4
5
6
7
8
9
Sub SupRanVid()
With ActiveSheet.UsedRange
derLi = .Row + .Rows.Count - 1
End With
Application.ScreenUpdating = False
For r = derLi To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r
End Sub
Bonne soirée.
grard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 21h57   #6
Membre expérimenté
 
Homme
Enseignant
Inscription : novembre 2009
Messages : 350
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : novembre 2009
Messages : 350
Points : 500
Points : 500
Bonjour à tous,

Saisir la formule matricielle suivante (en Feuil2 par exemple):
Code :
=SI(NB.SI(Feuil1!$B:$B;"oui")<LIGNE(A1);"";INDEX(Feuil1!$A$1:$A$1000;PETITE.VALEUR(SI(Feuil1!$B$1:$B$1000="oui";LIGNE(Feuil1!$B$1:$B$1000));LIGNE(A1))))
En supposant que les données sont en Feuil1...

Valider la formule par : CTRL+MAJ+ENTREE

En 2007 ou plus, on peut utiliser la formule (matricielle) suivante:
Code :
=SIERREUR(INDEX(Feuil1!$A$1:$A$1000;PETITE.VALEUR(SI(Feuil1!$B$1:$B$1000="oui";LIGNE(Feuil1!$B$1:$B$1000));LIGNE(A1)));"")
Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h29.


 
 
 
 
Partenaires

Hébergement Web