Sélection pour nouvel agencement

Bonjour,

Je suis débutant sous excel.Je voudrais sélectionné automatiquement certaines colonnes de mon classeur pour créer une nouvelle feuille excel.

Je ne veux pas seulement sélectionné des colonnes spécifiques je voudrais aussi réagencé mon tableau.

Je voudrais cette sélection pour mon nouveau tableau:

Date||Code||Contrat||Client||Mission||Tech.||Catégorie||Réf.||Description||Qte||PU HT||Remise||PU Rem.

J'ai aussi un réagencement à faire.Pour chaque ligne il ya plusieurs articles possibles jusqu'à 12.

Je voudrais sélectionné les colonnes concernant les articles et créer de bouvelle ligne avec

Date||Code||Contrat||Client||Mission||Tech.||Catégorie correspondant.AU final je voudrais un tableau du type

ligne1:Article1:Date||Code||Contrat||Client||Mission||Tech.||Catégorie||Réf.||Description||Qte||PU HT||Remise||PU Rem.

ligne2:Article2:Date||Code||Contrat||Client||Mission||Tech.||Catégorie||Réf.||Description||Qte||PU HT||Remise||PU Rem.

............................................et ainsi de suite.

J'ai vraiment besoin d'aide mon patron me stresse avec ça.Je vous serai éternellement reconnaissant.

Merci d'avance.CI-joint le fichier excel

Voilà un exemple de ce je souhaite obtenir à partir du fichier que j'ai envoyé.

Merci pourvotre aide.

Désolé je me rends compte qu'il y a des champs qui n'existent pas dans la première feuille.En fait ref 2 est inutile ainsi que ref 3.Elle n'ont pas à apparraître dans la feuille généré.

Pour la colone contrat je voudrais juste avoir une colonne contrat sans données à l'intérieur si c'est possible sinon rien du tout.

Encore désolé pour mes erreurs.

Salut,

J'ai un peu de mal à comprendre précisément ce que tu attends.

"Pour chaque ligne il ya plusieurs articles possibles jusqu'à 12". Sur ce sujet il existe le principe de la liste déroulante (cf ton doc modifié sur une colonne, tu verras).

https://www.excel-pratique.com/~files/doc/jayden_2.xls

Pour que ta demande soit plus claire, n'hésite pas à faire des commentaires directement sur ton fichier.

En espérant t'avoir un peu aidé...

Bertrand

J'ai mal formulé ce que je souhaitais donc t'as mal compris mais merciquand même pour ton aide.Grâce à un ami j'ai réussi à mettre en place une macro réalisant le travail que souhaitais effectué.Voilà un lien vers le fichier avec la macro réalisé.

En appuyant sur transform on obtiens le résultat recherché.

Mais maintenant mon patron voudrait une dernière chose.Il faudrait que chaque entreprise ai un nouvel onglet avec les lignes transformées correspondantes à l'entreprise.

Je joint un lien vers fichier excel en exemple pour les onglets que je souhaite généré avec mon doc.Je sais pas si j'arrive bien à expliqué.

Salut,

En tout cas moi j'ai un peu de mal à comprendre ta demande.

Peux tu joindre à nouveau ton fichier en notant directement sur ce dernier, à l'aide de zones de textes et de flêches, ce que tu souhaites comme modification ?

Bertrand

Bonsoir,

J'ai déjà la macro qui fait les changements que souhaitais effectué.EN cliquant sur transformation dans le fichier excel que j'ai joint tu obtiendras les modifications que je souhaitais.Ca c'est déjà effectué.

Maintenant ce que je voudrais c'est sélectionnes les champs du fichier que je génère avec ma macro et créer des onglets pour chaque client de ma feuille comme l'exemple que j'ai joint à mon deuxième post.

Dis moi si tu ne visualise toujours pas pour que je te reprécise si besoin.

Bonjour,

J'ai réussi à mettre cette macro en place:

Sub Onglet()

Dim NewSheet As Worksheet

Dim SName As String

Dim Boucle As Integer

Dim DerniereValeur As Long

On Local Error Resume Next 'si erreur a la prochaine ligne, l'execution du code continu et ne renvoi que le message specifié dans le if

DerniereValeur = Worksheets("Feuil3").Range("D").Find("*", [D1], , , xlByRows, xlPrevious).Row

If Err <> 0 Then 'si erreur different de 0 c'est que la fonction find n'a rien trouvé

MsgBox "aucun nom trouvé !", vbExclamation

Err.Clear

End

End If

For Boucle = 1 To DerniereValeur

SName = Worksheets("Feuil3").Range("D" & Boucle).Text

If SName <> vbNullString Then

Set NewSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count) )

NewSheet.Name = SName

End If

Next

Set NewSheet = Nothing

End Sub

Par contre le problème de cette macro c'est qu'elle me crée un onglet vide dès qu'elle retrouve une entreprsie deux fois.Comment faire pour la corrigé ?Et faire qu'elle prenne aussi les lignesde données correspondants aux entreprises.

Bonjour à tous,

moi, je laisserais tomber tous ces onglets !

Pourquoi ne traite-tu pas ton projet en base de données (filtre élaboré)

une ébauche de ce que l'on peut faire

ton fichier de 750K descendrait 150Ko environ !

https://www.excel-pratique.com/~files/doc/base_Jayden2.xls

Amicalement

Claude.

Salut,

Merci pour le coup de main Claude.

Sur la liste déroulante que tu proposes, lorsque je clique cela indique toujours "client". Il me semble que pour limiter les erreurs, il serait peut-être plus pratique que ce soit le nom du client "extrait" qui apparaisse.

Qu'en penses tu ?

Bertrand

Merci pour ce super conseil.C'est vrai que c'est beaucoup plus simple.T'as raison!

Parcontre quand j'ajoute à la liste de la base une nouvelle donnée ca ne s'ajoute pas à ma liste déroulante comment faire pour ajouté de nouvelles données dans ma base pour qu'elle soit prisent en compte?

hello

pour une liste déroulante, le mieus est de la baser sur une plage de cellule sà laquelle tu donnes un nom.

Et si cette plage croît, il faut utiliser DECALER pour que le nom suive.

http://boisgontierjacques.free.fr/

en colonne de gauche, il y a un lien vers une aide DECALER()

re,

le fichier que j'ai envoyé n'est qu'un exemple ! (brut de décoffrage)

çà s'appelle une base de données avec filtre élaboré.

- on dit élaboré parce qu'on peut filtrer avec plusieurs critères. (dans l'exemple 1 seul "client")

on aurait pu ajouter un 2ème (date par EX.)

  • on peut mettre autant de critères que la base contient de colonnes.
  • LE PRINCIPE : 1 seul onglet "base" qui ne contient que les données entrées au fur et à mesure, et 2 lignes ou l'on mets les critères.(cette feuille ne comprend aucune formule)
  • sur un autre onglet on récupère le filtrage, et de là, on peut tout imaginer ! (faire des calculs, stats, graphs etc...)
Un des gros avantage, c'est qu'au lieu de trainer des pages entière de formules, on ne traite que la partie filtrée.

-Enfin iil faut une partie "saisie", qui va servir pour ajouter des nouvelles données ou

sélectionner des critères en vue de filtrage.

  • --------------------------------
  • regarde un exemple simple sur ce forum dans "Applications Excel" le post "Madame Irma" (agenda) pour voir comment structurer ta base.
amicalement

Claude.

Merci pour tout.

Je vais lire tout ça.C'est très gentil de m'avoir porté secours.

re,

complément d'informations pour t'aider à structurer ta base.

https://www.excel-pratique.com/~files/doc/base_Jayden3.xls

amicalement

Claude.

Là c'est clair que j'ai tous les éléments en main.Merci beaucoup à tous ceux qui m'ont porté secours.

Rechercher des sujets similaires à "selection nouvel agencement"