Requete pour creation d'une nouvelle feuille ou page

bonjour a tous,

voila mon probleme, je ne sais si une solution existe mais je tente ma chance tout de meme!

J'ai un fichier excel a traiter comprenant 3600 entrees (lignes). Chaque ligne presente un code et ce code peut se retrouver sur plusieurs lignes.

J'aimerais savoir s'il existe une requete me permettant de regrouper chaque ligne ayant le meme code (le code dont je parle est en colonne R avec l'intitulé nom). Etant donné qu'idealement j'aimerais que cette requete crée une nouvelle page excel avec le code apparaissant dans le nom du fichier.

Je n'arrive pas a joindre un fichier type car il fait plus de 100Ko... j'espere avoir ete clair dans mes explications.

Merci d'avance

Cordialement

Bonjour

Si ton fichier fait mois de 500 Ko, tu peux l'envoyer par

http://cjoint.com/

Cordialement,

Amadéus

Bonjour prof, amadeus,

une idée :

Si le code se trouve en colonne R :

  • dupliquer la feuille
  • faire un tri sur la colonne R

Le tri va regrouper les mêmes codes ensemble

Ca doit pouvoir se dire en VBA ? (je ne sais pas trop faire, étant à la base plutôt formuliste)

A te lire

@+

Bonjour thibo et amadeus (merci pour le lien)

Pour le tri ca je savais thibo mais merci quand meme le probleme avec le simple tri c'est que je me retrouve avec toutes les entrees sur tjs la meme feuille

en fait je souhaiterais mettre en requete un truc dans genre si la ligne x = code y(en faisant en sorte de passer en revue tous les codes) alors couper la ligne et l'inserer dans un nouvelle page qui sera si possible enregistrée avec le code y correspondant.

Je presume que tout n'est pas possible (si j'ai ete clair bien sur) mais j'essaye quand meme.

Merci d'avance

Salut le forum

Un petit code VBA à mettre dans un module et tu lances la macro CopierCondition()

Sub CopierCondition()
Dim Ligne As Integer
Dim Destination As Integer
Application.ScreenUpdating = False
For Ligne = Sheets("Données").Range("A65535").End(3).Row To 2 Step -1
TesterFeuille (Sheets("Données").Cells(Ligne, 18).Value)
Destination = ActiveSheet.Range("A" & Range("A65535").End(3).Row + 1).Row
Worksheets("Données").Range("A" & Ligne & ":R" & Ligne).Copy ActiveSheet.Range("A" & Destination)
Next Ligne
Application.ScreenUpdating = True
End Sub

Sub TesterFeuille(Nom$)
On Error Resume Next
Worksheets(Nom).Select
If Err <> 0 Then
Worksheets.Add.Name = Nom
Worksheets("Données").Range("A1:R1").Copy ActiveSheet.Range("A1")
End If
End Sub

Mytå

Bonsoir

Pour les réfractaires à VB, s'il en reste, la même en XL4

Cordialement,

Amadéus

https://www.excel-pratique.com/~files/doc/CoinCoin.zip

Salut le forum

Amadéus ta macro ne fonctionne pas. J'ai toujours feuille 1004 dans msgbox.........

As-tu mis le bon fichier ?

Mytå

Bonjour Mytå

Non, c'est le bon fichier et ça marche.

Mais en XL4, on peut initialiser le Msgbox avec un "modèle par défaut" (pratique pour tester)

donc, si tu ne saisis aucun Code, en validant, c'est le Code par défaut qui est utilisé.

Pour un autre Code, il faut le saisir au clavier avant de valider.

OK?

Amicalement,

Amadéus

Bonjour a tous,

alors la je dois dire chapeau bas Messieurs UN GRAND MERCI

Je n'ai essayé que la macro en XL4 pour l'instant.

Bon vous allez dire que j'aurai pu etre plus clair des le debut mais les fichiers que je dois traiter sont "confidentiels" voila pourquoi vous n'avez qu'une partie du tableau

La 1ere chose c'est qu'en fait ce sont des feuilles qui sont crées et non des pages(des classeurs) car je dois envoyer chaque page a chaque code (ben oui chaque code correspond a une personne).

2eme chose a modifier (je sais je l'aurais dis plus tot ca aurait ete fait en meme temps desole ) : chaque code correspond en fait a un nom et un prenom. Ces infos sont presentes dans une feuille(adresse) issu du meme classeur que les données. En colonne A on retrouve le code, en colonne B le nom et en colonne C le prenom. L'ideal etant que l'enregistrement sur la nouvelle feuille (le nouveau classeur ce serait encore mieux ) ressemble a ca "Ailes2006-07 NOM Prenom(code)"

je vous remets le fichier un peu plus complet avec la feuille de noms ou j'ai bien entendu retiré les vrais noms et gardé juste 2 noms tests donc dites moi s'il y a une manip particuliere avoir cette macro dans mon fichier complet .

Merci d'avance pour votre investissement

a bientot

je viens de trouver qu'il etait possible de passer un feuille d'un classeur en tant que classeur independant donc au cas ou ma 1ere modif n'est pas possible je pourrais toujours m'en sortir

Merci encore pour votre aide

a bientot

Bonjour profjoseph

Je viens de voir que tu souhaitais créer des nouveaux Classeurs et non des nouvelles feuilles. Je te ferais cela dans la soirée.

En attendant, j'ai modifié la Macro pour créer les Feuilles sous les noms demandés.

Suite à mon échange ave Mytå, je te confirme que par défaut, le code recherché est 1004, tant que tu ne tapes pas un autre code. Pour tes exemples, tu valide une fois et tu obtiens le résultat pour 1004, puis, à la seconde demande, tu tapes 1001.

Rien de changé pour l'activation de la macro CTRL+a (minuscule) ou menu "Outils" 'Macro" "Macros", sélectionner "CréerFeuille" et valider.

Cela te convient-il ?

Cordialement,

Amadéus

bonjour Amadeus,

deja un grand MERCI pour votre aide, cela nous fera gagner enormement de temps pour cette année et les années a venir!

la correction me va tres bien, il faudrait juste rajouter si possible le code correspondant a la personne dans la sauvegarde du fichier "Ailes2006-07 NOM Prenom(code)" a savoir avec mon exemple "Ailes2006-07 EXEMPLE Test(1004)"

en ce qui concerne le code j'avais bien compris merci

Une derniere question : le plus simple c'est que je colle la macro sur mon fichier complet? ou que je colle les noms que j'ai retiré dans le fichier que tu vas me renvoyer?

Bien a vous

cordialement

a bientot

Bonjour

OK, j'ai bien noté de rajouter (Code) sur le nom de la feuille.

Pour l'adaptation de la Macro sur ton fichier, je te propose de passer en dehors du forum par email, puisque tu as donnée celle-ci; mon email perso figure aussi sur tous mes messages.

A plus tard,

Cordialement,

Amadéus

Bonjour

Petit problème à résoudre.

Selon ton exemple, le nouveau nom de la Feuille serait

Ailes2006-07 EXEMPLES2 testbis(1004)

Ce nom est incompatible avec excel et améne du reste d'autres questions.

Explication:

Les noms d'Onglet sont limités à 31 caractères, espaces compris

Conclusion; Il faut déterminer la méthode

Ailes2006-07 (1004) = 19 caractères

les codes allant jusqu'à 14000 et + >> 20 caractères

Soit 11 caractéres disponibles pour le Nom et le prénom

donc 10 en tenant compte de l'espace de séparation.

Si tu veux conserver Ailes2006-07 (1004)

Il faut envisager de tronquer les Noms et les Prénoms

Questions

1) Souhaites-tu conserver Ailes2006-07 (1004)

2) Si non, quel est le texte de substitution

3) Si oui, si le nom fait moins de 8 caractères, on peut écrire le nom et l'initiale du prénom.

4) Si le Nom fait plus de 8 caractères, faut-il choisir:

  • De tronquer le Nom et conserver l'initiale du Prénom?
  • De tronquer le nom et de ne pas faire figurer l'initiale du prénom?

Cordialement,

Amadéus

Bonjour,

certes les noms sont trop long pour les onglets mais comme je souhaite creer un nouveau classeur cela ne resout il pas le probleme? a moins qu'il ne faille passer par un onglet pour arriver a un nouveau classeur...

sinon on conserve "ailes2006-07 NOM Initiale du prenom (code)" si c'est encore trop long on retire l'initial du prenom voir meme mettre ailes06-07 ca fait 2 carateres en moins

J'espre que cela aura repondu a ta question.

Le mail est parti avant que je reponde a ton post

Merci encore

adé

Salut le Forum

Tu as une macro XL4 qui fonctionne, alors pas besoin de relancer le débat

avec une macro VBE. Malgré qu'avec ma macro pas besoin de choisir les codes,

les feuilles étaient crées à la volée.

Pour moi le sujet est jugé résolu.

Mytå

Bonjour profjoseph

C'est vrai que ma question était décalée.

Elle était simplement due au fait que lorsque j'ai testé la Macro aprés avoir ajouté le Code, elle a bien sur planté, puisque le nom de l'onglet était trop long. D'où ma question.

Alors qu'en fait, cela n'avait plus d'importance puisque le sujet n'était plus le même.

Donc, texte complet.

Je n'ai pas percuté. Oublions cette question.

Cordialement,

Amadéus

Bonjour amadéus,

aucun souci mais je ne savais pas si le classeur se creait directement ou s'il fallait paser par une nouvelle feuille.

as tu bien recu mon mail avec le fichier complet?

a bientot cordialement

Rechercher des sujets similaires à "requete creation nouvelle feuille page"