Transposer un groupe de celulles automatiquement avec mot clef

Bonjour,

Je suis un novice dans excel mais j'ai quelques notions en informatique.

Voici mon problème : En important un fichier de résultat la seule mise en forme «potable» dont je dispose est celle de la colonne A1 et je souhaiterais que la mise en forme soit celle que j'ai attaqué en colonne C1.

Voici ma demande : Je souhaiterais rédiger une macro qui me permette de : transposer un groupe de cellules en ligne à chaque fois que le mot «résultat» apparait.

Je joins le fichier exemple en PJ.

Merci d'avance pour votre aide.

Bonjour

La solution passe par PowerQuery, intégré à ta version Excel

Le fichier source est sous quel format ou bien extrait de quoi (PowerQuery peut accéder à diverses bases de données si besoin) ?

Il y a bien alternance de texte et nombres pour repérer la 1ère colonne ?

Bonjour,

Le fichier source est un copié collé d'une page web. Je suis désolé mais je ne comprends pas votre dernière question.

Re

Dans ton exemple il y a dans une même colonne Résultat n, qui est du texte, suivi d'un nombre variable de nombres ce qui permet de détecter quand un rencontre un autre texte la fin du groupe de nombres associés au texte

Je pense avoir compris ce que vous m’expliquez mais concrètement comment cela s’écrit dans une macro ?

RE

Je n'explique pas, je pose une question pour savoir si c'est faisable

Re,

Désolé pour mon incompréhension.

En effet :

Il y a Résultat n, qui est du texte, suivi d'un nombre variable de données (contenant du texte et des nombres) mais qui vont obligatoirement par groupe de 5 cellules.

1 groupe = 12345 = A2:A6

N’hésitez pas si vous avez besoin de plus d’informations car je doute d’être très clair et que vous me compreniez aisément.

RE

Sauf si le terme Résultat est bien présent pour repérer, dans la mesure où les autres infos peuvent être numériques ou textuelles et en nombre variable (même si c'est multiple de 5), on n'a pas de solution.

Confirmes-tu que le mot résultat est bien systématique ?

Oui le mot résultat sera systémique avec un numéro derrière

Bonjour

2 solutions :

  • une qui traire un classeur externe : modifier le chemin puis Données, Actualiser Tout
  • l'autre qui traite la plage nommée Data du classeur : effacer le contenu de la colonne A de Donnees mais ne pas supprimer la colonne avant de coller puis Données, Actualiser Tout
14benten73-pq.xlsx (20.93 Ko)
15benten73b-pq.xlsx (21.30 Ko)

Je test ça des ce soir je vous tiens informé

Mille merci

Hey,

La première solution fonctionne presque mais je n'ai pas les retour à la ligne (voir photo en PJ) peut être parce que le mot répétitif est journée et non résultat.

La seconde me met un message d'erreur mais je n'ai peut être pas effectuer la bonne manipulation ...

benten73b pq
benten73 pq

RE

J'ai posé toutes les questions nécessaires pour bien comprendre et agir en conséquence et tu dis maintenant que ce n'est pas Résultat mais Journée !

Pourquoi crois-tu qu'on pose des questions ?

Pour l'autre cas tu as de toute évidence détruit la colonne A d'où la perte de la plage nommée Data et le message d'erreur

C'est parfois désespérant...

Re,

En effet je suis désolé je pensais apprendre et modifier par moi même si besoin était car j'ai des tableaux avec le mot résultat que je vais aussi devoir classifier.

Comment avez-vous éditer ce genre de commande ? Je ne trouve pas power query dans mon excel.

J'ai pu accéder à Power Query depuis mon excel dans l'onglet données et j'ai remplacé résultat par journée.

Formidable travaille UN GRAND GRAND MERCI !!!!!!

Problème solutionné !!

Puis-je me permettre de vous demander comment les classifier dans l'ordre de journée car l'ordre actuel est 1 puis 11 / 12 / 13 / 14 puis 2 / 21 / 22 et j'aimerais que la suite logique soit 1.2.3 etc

Bonjour

Il faut découper le texte et le recombiner

Remplacer dans la requête la formule de l'étape après Source par

if (try Text.StartsWith(Text.Proper([Column1]),"Journée") otherwise null) =true then Text.BeforeDelimiter([Column1] ," ") & " "& Number.ToText(Number.From(Text.AfterDelimiter([Column1]," ")),"000") else null

Si le mot clé change d'un cas à l'autre il faudrait prévoir une cellule pour indiquer le mot clé et l'utiliser comme variable dans la requête plutôt que d'adapter à chaque fois la requête

Rechercher des sujets similaires à "transposer groupe celulles automatiquement mot clef"