Mise en forme sur Excel
Résolu
Loypeau
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Farfadet88 Messages postés 6295 Date d'inscription Statut Membre Dernière intervention -
Farfadet88 Messages postés 6295 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Mise en forme sur Excel
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
10 réponses
Bonjour,
pour plus de lisibilité, merci de poster le fichier ici http://www.cijoint.fr/
et si possible indiquez sur le fichier les modifications que vous souhaitez voir apparaître
pour plus de lisibilité, merci de poster le fichier ici http://www.cijoint.fr/
et si possible indiquez sur le fichier les modifications que vous souhaitez voir apparaître
Voici le lien du fichier en question avec sur la première feuille le fichier brut et sur la seconde le résultat souhaité. C'est pas évident du tout car :
-jusqu'à la ligne 4000, l'intercalaire entre les fiches est régulier, après non
-toutes les données ne sont pas renseignées (par ex. on n'a pas l'année de naissance pour tous, tout du moins pour le moment car je pense compléter le tableau par le suite)
http://www.cijoint.fr/cjlink.php?file=cj201001/cijMDVbSAl.xls
-jusqu'à la ligne 4000, l'intercalaire entre les fiches est régulier, après non
-toutes les données ne sont pas renseignées (par ex. on n'a pas l'année de naissance pour tous, tout du moins pour le moment car je pense compléter le tableau par le suite)
http://www.cijoint.fr/cjlink.php?file=cj201001/cijMDVbSAl.xls
Bon alors j'ai réussi à te créer un fichier qui te récupères déjà tous les noms.
Etant donné l'organisation de ton fichier et mon manque d'expérience en progra VBA je suis en train de réfléchir à comment récupérer l'ensemble des données afin de les organiser par ligne et en mettant "inconnu" pour les données manquantes.
Etant donné l'organisation de ton fichier et mon manque d'expérience en progra VBA je suis en train de réfléchir à comment récupérer l'ensemble des données afin de les organiser par ligne et en mettant "inconnu" pour les données manquantes.
en filtrant, j'ai pu supprimer les lignes qui ne m'intéressaient pas et qu'on voit vers la ligne 4000, cad là où s'et arrêté mon travail nom par nom.
pour avoir les noms en colonne, on doit pouvoir y arriver par une formule du style : Si A1 est un nom dans ce cas la ligne entière va à tel endroit, sinon elle reste en A1 et ainsi de suite jusqu'à A 19000 ; Idem pour les autres données (prénoms, date de naissance, etc...) quand il y en a. EN revanche, quand on n'a pas la données, dans ce cas, laisser un espace. ET à partir de là il sera plus facile de travailler sur le tableau.
Voilà la théorie mais après je suis bien incapable de mettre en pratique.
pour avoir les noms en colonne, on doit pouvoir y arriver par une formule du style : Si A1 est un nom dans ce cas la ligne entière va à tel endroit, sinon elle reste en A1 et ainsi de suite jusqu'à A 19000 ; Idem pour les autres données (prénoms, date de naissance, etc...) quand il y en a. EN revanche, quand on n'a pas la données, dans ce cas, laisser un espace. ET à partir de là il sera plus facile de travailler sur le tableau.
Voilà la théorie mais après je suis bien incapable de mettre en pratique.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai presque fini. J'ai juste un petit bug pour les numéros de dossier. Je cherche une solution.
Tu peux déjà commencer par filtrer ton tableau "Liste" et supprimer les lignes qui n'apparraîtront pas dans le tableau "mise en page" sinon la macro risque de ne pas marcher
Tu peux déjà commencer par filtrer ton tableau "Liste" et supprimer les lignes qui n'apparraîtront pas dans le tableau "mise en page" sinon la macro risque de ne pas marcher
Mon fichier est fini mais je n'arrive pas à le mettre sur cijoint (problème de serveur).
Tu peux me faire passer ton adresse mail en message privé pour que je te l'envoie ou alors tu peux créer un bouton et lui appliquer la macro suivante:
Sub Bouton1_QuandClic()
Sheets("mise en page").Range("a2:g3000").Delete
Dim i As Long
For i = 1 To 20000
If Sheets("Liste").Range("a" & i).Value = "nom" Then Sheets("mise en page").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i).Value Else GoTo fin
If Sheets("Liste").Range("a" & i + 1).Value = "prenom" Then Sheets("mise en page").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else Sheets("mise en page").Range("b65536").End(xlUp).Offset(1, 0) = "Inconnu"
If Sheets("Liste").Range("a" & i + 1).Value = "annee_de_naissance" Then Sheets("mise en page").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "annee_de_naissance" Then Sheets("mise en page").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else Sheets("mise en page").Range("c65536").End(xlUp).Offset(1, 0) = "Inconnue"
If Sheets("Liste").Range("a" & i + 1).Value = "commune_de_residence" Then Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "commune_de_residence" Then Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else If Sheets("Liste").Range("a" & i + 3).Value = "commune_de_residence" Then Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = "Inconnue"
If Sheets("Liste").Range("a" & i + 1).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else If Sheets("Liste").Range("a" & i + 3).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else If Sheets("Liste").Range("a" & i + 4).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 4).Value Else Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = "Inconnu"
If Sheets("Liste").Range("a" & i + 1).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else If Sheets("Liste").Range("a" & i + 3).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else If Sheets("Liste").Range("a" & i + 4).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 4).Value Else If Sheets("Liste").Range("a" & i + 5).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 5).Value Else Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = "Inconnu"
If Sheets("Liste").Range("a" & i + 3).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else If Sheets("Liste").Range("a" & i + 4).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 4).Value Else If Sheets("Liste").Range("a" & i + 5).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 5).Value Else If Sheets("Liste").Range("a" & i + 6).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 6).Value Else If Sheets("Liste").Range("a" & i + 7).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 7).Value Else Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = "inconnu"
fin:
Next i
End Sub
Si tu as des questions n'hésite pas
Tu peux me faire passer ton adresse mail en message privé pour que je te l'envoie ou alors tu peux créer un bouton et lui appliquer la macro suivante:
Sub Bouton1_QuandClic()
Sheets("mise en page").Range("a2:g3000").Delete
Dim i As Long
For i = 1 To 20000
If Sheets("Liste").Range("a" & i).Value = "nom" Then Sheets("mise en page").Range("a65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i).Value Else GoTo fin
If Sheets("Liste").Range("a" & i + 1).Value = "prenom" Then Sheets("mise en page").Range("b65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else Sheets("mise en page").Range("b65536").End(xlUp).Offset(1, 0) = "Inconnu"
If Sheets("Liste").Range("a" & i + 1).Value = "annee_de_naissance" Then Sheets("mise en page").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "annee_de_naissance" Then Sheets("mise en page").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else Sheets("mise en page").Range("c65536").End(xlUp).Offset(1, 0) = "Inconnue"
If Sheets("Liste").Range("a" & i + 1).Value = "commune_de_residence" Then Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "commune_de_residence" Then Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else If Sheets("Liste").Range("a" & i + 3).Value = "commune_de_residence" Then Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else Sheets("mise en page").Range("d65536").End(xlUp).Offset(1, 0) = "Inconnue"
If Sheets("Liste").Range("a" & i + 1).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else If Sheets("Liste").Range("a" & i + 3).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else If Sheets("Liste").Range("a" & i + 4).Value = "grade" Then Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 4).Value Else Sheets("mise en page").Range("e65536").End(xlUp).Offset(1, 0) = "Inconnu"
If Sheets("Liste").Range("a" & i + 1).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 1).Value Else If Sheets("Liste").Range("a" & i + 2).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 2).Value Else If Sheets("Liste").Range("a" & i + 3).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else If Sheets("Liste").Range("a" & i + 4).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 4).Value Else If Sheets("Liste").Range("a" & i + 5).Value = "regiment" Then Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 5).Value Else Sheets("mise en page").Range("f65536").End(xlUp).Offset(1, 0) = "Inconnu"
If Sheets("Liste").Range("a" & i + 3).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 3).Value Else If Sheets("Liste").Range("a" & i + 4).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 4).Value Else If Sheets("Liste").Range("a" & i + 5).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 5).Value Else If Sheets("Liste").Range("a" & i + 6).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 6).Value Else If Sheets("Liste").Range("a" & i + 7).Value = "dossier" Then Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = Sheets("Liste").Range("b" & i + 7).Value Else Sheets("mise en page").Range("g65536").End(xlUp).Offset(1, 0) = "inconnu"
fin:
Next i
End Sub
Si tu as des questions n'hésite pas