EXCEL : transformation de colonnes

Fermé
Megachuck - 9 sept. 2009 à 15:45
 Megachuck - 11 sept. 2009 à 10:07
Bonjour à tous,

Voici mon problème :

j'ai une colonne comprenant des cellules vides sur un onglet et je voudrais transformer cette colonne en supprimant les cellules sur un autre onglet (cette dernière sera donc moins longue que la dernière).

Merci d'avance pour votre aide!

PS : je suis sur Excel 2003
A voir également:

10 réponses

gdumenil Messages postés 313 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 6 janvier 2025 52
9 sept. 2009 à 17:20
Salut megachuck.
STP éclaircis notre lanterne : "transformer cette colonne en supprimant les cellules sur un autre onglet " ça entend quoi ?
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
10 sept. 2009 à 13:42
Salut,

Apparemment le forum a eu des problèmes, je refais la réponse

Tu mets en surbrillance la colonne et Données/Filtrer/filtre automatique
Dans la première cellule tu auras un bouton avec une flèche, clic et choisis en fin de liste (non vides)
Mets la plage en surbrillance et Edition/Copier
Et Edition/coller ou collage spécial cocher les valeurs sur le nouvel emplacement

Revenir sur le premier tableau Données/Filtrer désactiver filtre automatique


A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Merci pour ta solution,

Cependant elle n'est pas viable dans mon cas. En effet, ma première colonne sera souvent mise à jour (et comportera des cellules vides aléatoirement et souvent). Ma deuxième colonne correspond à une copie automatique de la première, mais sans les blancs.

Je souhaiterais automatiser tout ça, impossible ?

Merci encore
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
10 sept. 2009 à 17:21
Bonjour
A ajuster à vos champs
en supposant que: Onglet initial, liste de A2 à A100(important pour les formules que la première ligne soit vide)
en colonne B, sur B2:=SI(ESTVIDE(A2;0;MAX($B$1:B1)+1)
Cette formule tirée vers le bas va incrémenter le code de 1 và X lorsque une cellule sera pleine en A
Nommer le champ B2:B100 pour l'exemple: CODE
nommer le champ A2:B100 pour l'exemple: CHAMP
Sur votre onglet de récupèration, en colonne A,sur A2:
=SI(MAX($A$1:A1)=MAX(CODE);0;MAX($A$1:A1)+1)
formule à tirer aussi vers le bas sur la hauteur de votre tableau récapitulatif
en B2:la formule:
=SI(A2=0;"";INDEX(CHAMP;EQUIV(A2;CODE;0);1))
est B vous ressortira ce qu'il y a en A sur le premier onglet en face du n° codé

Attention aux positions des blocages $ avant de tirer les formules

Crdlmnt

PS:Bien sur, vous poiuvez déplacer les colonnes comme vous le soiuhaitez et écrire les formules avec les limites de champs plutôt qu'en les nommant, amois ne pas oublier les blocages..
Pour nommer, au cas où:
sélectionnez le champ,barre d 'outil / insertion / Nom /Définir et inscrire le nom souhaité
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
10 sept. 2009 à 17:27
Re
un petit exemple ci joint avec OUI NON (à remplacer par ESTVIDE )pour complèter mon message 4
http://www.cijoint.fr/cjlink.php?file=cj200909/cijNDWKrDE.xls
Crdlmnt
0
wow, impressionnant.

Merci beaucoup jvais tester tout ça et jreviens demain pour un feedback, mais ça marchera assurément.

Une petite explication sur les différentes formules peut être ? Oui j'en demande beaucoup, mais c'est intéressant.

Encore merci
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
10 sept. 2009 à 18:49
Re

pour les explications selon mon message 4,(et non pas au fichier joint) rapportées aux limites de l'exemple:

Sur votre feuille d'entrée
A2:A100 représentent la liste avec cellules vides que vous voulez compacter
La formule en B détecte si la cellule A est vide ou non, et si elle n'est pas vide, elle ajoute 1 au maximum (MAX) des nombres affichées au dessus, (c'est pour cela qu'une limite du champ est bloquée et pas l'autre) ce qui crée l'incrémentation du repérage des cellule remplies

Sur votre feuille de résultat:
la formule en A incrémente de 1 à chaque cellule descendante, et s'arrète sur 0 dés que le maximum correspondant à celui de la colonne B première feuille est trouvé.
On retrouve donc, compactée, la liste des codes obtenus sur la feuille d'entrée.
La formule en B, décomposée:
=SI(A2=0;"";
Permet d'éviter un affichage parasite lorsque la colonne A présente des 0 que la suite de la formule n'utilise pas
INDEX(CHAMP: définit le champ dans lequel il faut trouver les références
;EQUIV(A2;CODE;0)
demande à excel de chercher la valeur de A2 dans la colonne CODE, soit B de la feuille d'entrée_;0) est un code excel qui définit le type de valeur à trouver par rapport à la ligne détectée)
;1))
demande à excel de ressortir la valeur corresppondante de la 1° colonne du champ, soit A de la feuille d'entrée.(La dernière parenthèse ferme la condition SI initiale).

Plus facile à mettre en place qu'à expliquer, excusez moi si ce n'est pas clair.

Bien cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 419
10 sept. 2009 à 19:05
Un petit fichier correspondant aux explications précédentes:
http://www.cijoint.fr/cjlink.php?file=cj200909/cijhMMhutu.xls
bonne soirée
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
10 sept. 2009 à 21:07
Salut Vaucluse,

Superbe, rien à dire, actuellement je suis pas mal occupé mais je garde tes explications bien au chaud

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Appliqué, testé et approuvé.

J'aurai pu chercher longtemps tout seul...

Merci encore VAUCLUSE !
0