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 04/10/2011, 18h00   #1
Membre actif
 
Eric
Inscription : février 2008
Messages : 439
Détails du profil
Informations personnelles :
Nom : Eric

Informations forums :
Inscription : février 2008
Messages : 439
Points : 156
Points : 156
Par défaut fonction DECALER et colonnes

Bonjour,

J'ai des données en colonnes :
A1 : 1h
B1 : vide
C1 : 6h
D1 : vide
E1 : vide
F1 : vide
G1 : 3h
H1 : 2h

Je cherche à "éliminer" les cellules vides et obtenir (les colonnes I à Z sont utilisées)

AA1 : 1h
AB1 : 6h
AC1 : 3h
AD1 : 2h

J'ai essayé d'utiliser l'excellent tuto de Silkyroad sur les listes déroulantes et l'"élimination" des cellules vides, mais je n'arrive pas à l'adapter sur les colonnes.....

Une idée ?

Merci,
A+
ericdev67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 07h40   #2
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,

Une solution avec la formule matricielle en AA1 suivante:
Code :
=SI(COLONNES($A:A)<=NBVAL($A$1:$Z$1);INDEX($A$1:$Z$1;GRANDE.VALEUR(($A$1:$Z$1<>"")*COLONNE($A$1:$Z$1);NBVAL($A$1:$Z$1)-COLONNES($A:A)+1));"")
et la recopier vers la droite jusqu'à la cellule AZ1...

Cordialement
hben1961 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/10/2011, 07h48   #3
Membre actif
 
Eric
Inscription : février 2008
Messages : 439
Détails du profil
Informations personnelles :
Nom : Eric

Informations forums :
Inscription : février 2008
Messages : 439
Points : 156
Points : 156
Génial hben1961 !

C'est exactement le résultat que j'attendais....!!!!!

Je t'avouerai que les formules matricielles, je n'ai pas encore tout compris...mais quand je vois que ça résoud ce type de problème, je vais m'y re pencher...

A ce propos, tu n'aurais pas un lien vers un tuto intéressant et/ou qui puisse m'apporter des compléments sur les formules matricielles ?

Merci,

A+
ericdev67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 21h39   #4
Membre actif
 
Eric
Inscription : février 2008
Messages : 439
Détails du profil
Informations personnelles :
Nom : Eric

Informations forums :
Inscription : février 2008
Messages : 439
Points : 156
Points : 156
Je viens de m'apercevoir que la formule ne fonctionne pas si la cellule n'est pas réellement vide : je m'explique :

en fait, je navigue entre 2 feuilles et j'ai une formule disant
Code :
=SI('1'!b1<>"";'1'!b1;"")
(=je travaille avec ma formule matricielle sur la feuille 2, la feuille "1" regroupant un ensemble de données, que je récupère), donc à l'écran, la cellule est vide, mais lorsque je copie/colle la formule matricielle, la formule matricielle ne donne pas le résultat voulu....J'ai fait le test en appuyant sur la touche "Suppr" (=je vide ma cellule en vidant "=SI('1'!b1<>"";'1'!b1;"")) et là, la formule matricielle fonctionne.....

Donc question : comment éviter que je sois obligé de "vider" moi-même la cellule...?

A+
ericdev67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 11h27   #5
Membre actif
 
Eric
Inscription : février 2008
Messages : 439
Détails du profil
Informations personnelles :
Nom : Eric

Informations forums :
Inscription : février 2008
Messages : 439
Points : 156
Points : 156
C'est bon, j'ai trouvé : pas très orthodoxe mais ça fonctionne :

J'utilise le code de hben1961 (merci encore !)
Je mets en AL
Code :
=AD260&AE260&AF260&AG260&AH260&AI260&AJ260&AK260
(j'ai fait un test en ligne 260 et déplacé en AD, plutôt qu'en AA)

Ainsi, les cellules vides n'apparaissent plus et ensuite en AL je mets :
Code :
=si(esterreur(STXT(AL260;1;2))=VRAI;"";stxt(AL260;1;2))
Ainsi, j'obtiens le même tri que hben1961, sans êtres "embêté" par les cellules vides....

En tout cas, merci hben1961 pour ton aide

A+ pour de prochaines aventures
ericdev67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h15.


 
 
 
 
Partenaires

Hébergement Web