Excel 2003 - Garder des informations précises
Résolu
eagnix
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Sous Microsoft Office Excel 2003, j'ai un classeur avec plusieurs feuilles avec des informations plus ou moins les mêmes. J'aimerais savoir si c'était possible de garder certaines informations les plus utiles sachant qu'elles ne sont pas toujours tout à fait sur les mêmes lignes (je détaillerai mes questions en détails plus loin). Pour plus de compréhension je vais donner un exemple simplifié ci-dessous.
Sur la feuille 1:
Ligne 1: Nom de l'article
Ligne 2: Vide
Ligne 3: Informations inutiles
Ligne 4: Informations inutiles
Ligne 5: Informations inutiles
Ligne 6: Vide
Ligne 7: 200 articles achetés ce mois-ci sur 300 prévus
Ligne 8: Vide
Ligne 9: 80 articles vendus ce mois-ci sur 200 achetés
Ligne 10: vide
Ligne 11: Articles total en stocks: 500
Ligne 12: Vide
Ligne 13: Prix
Ligne 14: 100 euros pour 1 article
Ligne 15: 950 euros pour 10 articles
Ligne 16: 9000 euros pour 100 articles
Sur la feuille 2:
Ligne 1: Nom de l'article
Ligne 2: Vide
Ligne 3: Informations inutiles
Ligne 4: Informations inutiles
Ligne 5: Informations inutiles
Ligne 6: Informations inutiles
Ligne 7: Informations inutiles
Ligne 8: Informations inutiles
Ligne 9: Informations inutiles
Ligne 10: Vide
Ligne 11: 400 articles achetés ce mois-ci sur 500 prévus
Ligne 12: Vide
Ligne 13: 300 articles vendus ce mois-ci sur 400 achetés
Ligne 14: vide
Ligne 15: Articles total en stocks: 600
Ligne 16: Vide
Ligne 17: Prix
Ligne 18: 10 euros pour 1 article
Ligne 19: 95 euros pour 10 articles
Ligne 20: 900 euros pour 100 articles
Question 1:
J'aimerais garder en premier lieu: de la ligne "Articles en stocks: …" à "… euros pour 100 articles".
Question 2:
Existe-t-il une fonction qui me permettrait de garder uniquement le premier nombre de chaque ligne?
Question 3:
Après les manipulations, je dois remettre ces informations dans un tableau en données horizontales. Je sais utiliser la fonction transposition mais y a-t-il moyen d'effectuer la même transposition sur plusieurs feuilles d'un coup? Je vais donner un exemple pour plus de compréhension avec les informations obtenues après les manipulations de la question 1 (il y en aurait plus avec la question 2).
J'aurai pour la feuille 1:
500
100
950
9000
J'aurai pour la feuille 2:
600
10
95
900
Je suis désolé pour ce long message et je vous remercie pour votre aide.
PS: dans les feuilles réelles, il y a plus de lignes vides et d'informations inutiles.
Sous Microsoft Office Excel 2003, j'ai un classeur avec plusieurs feuilles avec des informations plus ou moins les mêmes. J'aimerais savoir si c'était possible de garder certaines informations les plus utiles sachant qu'elles ne sont pas toujours tout à fait sur les mêmes lignes (je détaillerai mes questions en détails plus loin). Pour plus de compréhension je vais donner un exemple simplifié ci-dessous.
Sur la feuille 1:
Ligne 1: Nom de l'article
Ligne 2: Vide
Ligne 3: Informations inutiles
Ligne 4: Informations inutiles
Ligne 5: Informations inutiles
Ligne 6: Vide
Ligne 7: 200 articles achetés ce mois-ci sur 300 prévus
Ligne 8: Vide
Ligne 9: 80 articles vendus ce mois-ci sur 200 achetés
Ligne 10: vide
Ligne 11: Articles total en stocks: 500
Ligne 12: Vide
Ligne 13: Prix
Ligne 14: 100 euros pour 1 article
Ligne 15: 950 euros pour 10 articles
Ligne 16: 9000 euros pour 100 articles
Sur la feuille 2:
Ligne 1: Nom de l'article
Ligne 2: Vide
Ligne 3: Informations inutiles
Ligne 4: Informations inutiles
Ligne 5: Informations inutiles
Ligne 6: Informations inutiles
Ligne 7: Informations inutiles
Ligne 8: Informations inutiles
Ligne 9: Informations inutiles
Ligne 10: Vide
Ligne 11: 400 articles achetés ce mois-ci sur 500 prévus
Ligne 12: Vide
Ligne 13: 300 articles vendus ce mois-ci sur 400 achetés
Ligne 14: vide
Ligne 15: Articles total en stocks: 600
Ligne 16: Vide
Ligne 17: Prix
Ligne 18: 10 euros pour 1 article
Ligne 19: 95 euros pour 10 articles
Ligne 20: 900 euros pour 100 articles
Question 1:
J'aimerais garder en premier lieu: de la ligne "Articles en stocks: …" à "… euros pour 100 articles".
Question 2:
Existe-t-il une fonction qui me permettrait de garder uniquement le premier nombre de chaque ligne?
Question 3:
Après les manipulations, je dois remettre ces informations dans un tableau en données horizontales. Je sais utiliser la fonction transposition mais y a-t-il moyen d'effectuer la même transposition sur plusieurs feuilles d'un coup? Je vais donner un exemple pour plus de compréhension avec les informations obtenues après les manipulations de la question 1 (il y en aurait plus avec la question 2).
J'aurai pour la feuille 1:
500
100
950
9000
J'aurai pour la feuille 2:
600
10
95
900
Je suis désolé pour ce long message et je vous remercie pour votre aide.
PS: dans les feuilles réelles, il y a plus de lignes vides et d'informations inutiles.
A voir également:
- Excel 2003 - Garder des informations précises
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Entrer les informations d'identification reseau - Guide
- Déplacer colonne excel - Guide
- Comment garder le 0 devant les chiffres sur excel - Guide
7 réponses
bonjour
Pour te répondre, je vais prendre un exemple simple.
Tu vas au jardin, tu traces au cordeau des lignes de semis régulièrement espacées et tu sèmes. Lorsque ton semis et les herbes "inutiles" poussent tu peux facilement sarcler pour éliminer les "inutiles" et conserver ton semis.
Essaies maintenant de semer à la volée comme la célèbre Semeuse et dis moi comment tu vas faire pour éliminer les "inutiles" ? ... sans doute manuellement et longuement ...
En bureautique ou en informatique les règles de base sont aussi naturelles que celles du jardinier.
Pour te répondre, je vais prendre un exemple simple.
Tu vas au jardin, tu traces au cordeau des lignes de semis régulièrement espacées et tu sèmes. Lorsque ton semis et les herbes "inutiles" poussent tu peux facilement sarcler pour éliminer les "inutiles" et conserver ton semis.
Essaies maintenant de semer à la volée comme la célèbre Semeuse et dis moi comment tu vas faire pour éliminer les "inutiles" ? ... sans doute manuellement et longuement ...
En bureautique ou en informatique les règles de base sont aussi naturelles que celles du jardinier.
Bonjour juste une remarque. les réponses que les personnes ci dessus ont données sont bonnes.
Mais il ne faut pas oublier Q'excel est un tableur avec des lignes et des colonnes et qu'il est facile de travailler avec sans se lancer dans des macros compliqués pour un débutant.
Par contre il faut penser comment créer son fichier tout au début.
L'informatique a ce niveau s'improvise pas Hélas.
Bon courage.
Mais il ne faut pas oublier Q'excel est un tableur avec des lignes et des colonnes et qu'il est facile de travailler avec sans se lancer dans des macros compliqués pour un débutant.
Par contre il faut penser comment créer son fichier tout au début.
L'informatique a ce niveau s'improvise pas Hélas.
Bon courage.
bonjour
Ta question est bien exposée mais il est difficile de donner une réponse précise.
La manipulation de données est toujours plus facile lorsqu'elles sont structurées. Apparemment ce n'est pas le cas de ton classeur et tu sais très bien qu'il est plus facile de trouver ce que l'on cherche lorsque c'est classé, comme les médicaments dans une pharmacie, plutôt que mise en tas informe.
Il n'existe pas de fonction qui va te trier tes informations sauf si tu écris une macro VBA, en sachant exactement ce que tu dois faire. En effet, tu dis qu'il y a des lignes avec des "informations inutiles" mais comment coder ce concept pour les ignorer ?
Ta question est bien exposée mais il est difficile de donner une réponse précise.
La manipulation de données est toujours plus facile lorsqu'elles sont structurées. Apparemment ce n'est pas le cas de ton classeur et tu sais très bien qu'il est plus facile de trouver ce que l'on cherche lorsque c'est classé, comme les médicaments dans une pharmacie, plutôt que mise en tas informe.
Il n'existe pas de fonction qui va te trier tes informations sauf si tu écris une macro VBA, en sachant exactement ce que tu dois faire. En effet, tu dis qu'il y a des lignes avec des "informations inutiles" mais comment coder ce concept pour les ignorer ?
Tu indiques toi-même les incohérences et anomalies du classeur.
Es-tu contraint de "faire avec" parce que la structure des feuilles t'est imposée, ou as-tu la possibilité de modifier ou d'imposer une structure plus rationnelle ?
Parce que je souscris à 100% aux propos de gbinforme ...
Es-tu contraint de "faire avec" parce que la structure des feuilles t'est imposée, ou as-tu la possibilité de modifier ou d'imposer une structure plus rationnelle ?
Parce que je souscris à 100% aux propos de gbinforme ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour gbinforme et Raymond,
Malheureusement, les informations que j'aimerais conservées ne sont pas toujours sur les mêmes lignes. Suivant le cas, des lignes s'intercalent avec des informations qui sont "inutiles" pour ce que je veux réaliser. De plus, je n'ai pas la possibilité de changer la manière dont les feuilles sont réalisées.
Je pensais qu'il avait moyen de lui dire tu recherches telle information ("Articles en stocks: …") et tu sélectionnes les lignes à partir de celle-ci jusqu'à que tu rencontres "pour 100 articles". Quoique là, comme le nombre de lignes entre "Articles en stocks: …" et "pour 100 articles" reste constant, je pourrai lui dire le nombre de lignes à conserver à partir de ("Articles en stocks: …".
Il y a bien la solution des copier/coller mais je pensais qu'il y avait peut-être une solution pour gagner du temps. De plus, entre chaque informations, il y a une ligne vide (je peux les supprimer en cliquant sur "Edition" > "Atteindre..." > "Cellules..." et cochant "Cellules vides", ensuite je supprime ces lignes).
Pour ma question "y a-t-il moyen de conserver uniquement les nombres des différentes lignes?", avez-vous une solution? Je peux réaliser cette opération de cette façon, en cliquant sur "Données" > "Convertir...", puis en cochant "Délimité" > "Suivant", puis en cochant "Espace", puis en cliquant sur "Suivant" > "Terminer". Mais les problèmes sont que les nombres ne se retrouvent pas toujours dans la même colonne et que je dois penser à aller décocher "Espace" dans la fonction pour éviter des soucis quand je vais dans d'autres classeurs.
Pour ma question "Je sais utiliser la fonction transposition mais y a-t-il moyen d'effectuer la même transposition sur plusieurs feuilles d'un coup?", j'ai réfléchi cela ne me fera pas gagner du temps, car je devrai copier/coller les résultats obtenus dans le tableau un à un car ils seront sur différentes feuilles.
Je suis peut-être parfois agaçant avec mes questions et j'en suis désolé, mais j'aimerais vraiment améliorer le plus possible mes connaissances en bureautique ne fût-ce que pour le milieu professionnel, car je fais un graduat en secrétariat et malheureusement les langues étrangères ne sont pas mon point fort, donc je me dis autant évoluer le plus possible dans ce que je "maîtrise" le mieux, tout en essayant d'évoluer dans les matières plus délicates. Il y a tant de domaine de connaissances à développer qui sont vraiment intéressants, mais les journées sont courtes, nous ne pouvons pas tout apprendre. Les projets ne manquent pas non plus mais là encore, il faut se limiter.
Je vous remercie pour votre aide et je m'excuse pour mes longs romans, j'aime être clair, mais parfois j'entre dans des détails vraiment inutiles.
Malheureusement, les informations que j'aimerais conservées ne sont pas toujours sur les mêmes lignes. Suivant le cas, des lignes s'intercalent avec des informations qui sont "inutiles" pour ce que je veux réaliser. De plus, je n'ai pas la possibilité de changer la manière dont les feuilles sont réalisées.
Je pensais qu'il avait moyen de lui dire tu recherches telle information ("Articles en stocks: …") et tu sélectionnes les lignes à partir de celle-ci jusqu'à que tu rencontres "pour 100 articles". Quoique là, comme le nombre de lignes entre "Articles en stocks: …" et "pour 100 articles" reste constant, je pourrai lui dire le nombre de lignes à conserver à partir de ("Articles en stocks: …".
Il y a bien la solution des copier/coller mais je pensais qu'il y avait peut-être une solution pour gagner du temps. De plus, entre chaque informations, il y a une ligne vide (je peux les supprimer en cliquant sur "Edition" > "Atteindre..." > "Cellules..." et cochant "Cellules vides", ensuite je supprime ces lignes).
Pour ma question "y a-t-il moyen de conserver uniquement les nombres des différentes lignes?", avez-vous une solution? Je peux réaliser cette opération de cette façon, en cliquant sur "Données" > "Convertir...", puis en cochant "Délimité" > "Suivant", puis en cochant "Espace", puis en cliquant sur "Suivant" > "Terminer". Mais les problèmes sont que les nombres ne se retrouvent pas toujours dans la même colonne et que je dois penser à aller décocher "Espace" dans la fonction pour éviter des soucis quand je vais dans d'autres classeurs.
Pour ma question "Je sais utiliser la fonction transposition mais y a-t-il moyen d'effectuer la même transposition sur plusieurs feuilles d'un coup?", j'ai réfléchi cela ne me fera pas gagner du temps, car je devrai copier/coller les résultats obtenus dans le tableau un à un car ils seront sur différentes feuilles.
Je suis peut-être parfois agaçant avec mes questions et j'en suis désolé, mais j'aimerais vraiment améliorer le plus possible mes connaissances en bureautique ne fût-ce que pour le milieu professionnel, car je fais un graduat en secrétariat et malheureusement les langues étrangères ne sont pas mon point fort, donc je me dis autant évoluer le plus possible dans ce que je "maîtrise" le mieux, tout en essayant d'évoluer dans les matières plus délicates. Il y a tant de domaine de connaissances à développer qui sont vraiment intéressants, mais les journées sont courtes, nous ne pouvons pas tout apprendre. Les projets ne manquent pas non plus mais là encore, il faut se limiter.
Je vous remercie pour votre aide et je m'excuse pour mes longs romans, j'aime être clair, mais parfois j'entre dans des détails vraiment inutiles.
Bonjour tout le monde,
C'est vrai que les fichiers irréguliers sont une plaie mais eagnix dit une chose interessante :
J'aimerais garder de la ligne "Articles en stocks: …" à "… qui est un point de départ unique (enfin j'espère), et à-priori ensuite il y a une régularité.
A tester :
eric
C'est vrai que les fichiers irréguliers sont une plaie mais eagnix dit une chose interessante :
J'aimerais garder de la ligne "Articles en stocks: …" à "… qui est un point de départ unique (enfin j'espère), et à-priori ensuite il y a une régularité.
A tester :
Sub nettoie()
Dim i As Long, j As Long, k As Long
Dim w As Worksheet
For Each w In Worksheets
w.Activate
On Error GoTo suivant
i = Columns("A:A").Find(" Articles total en stocks", LookIn:=xlValues).Row
On Error GoTo 0
Range("A1:A" & i - 1).EntireRow.Delete
[2:3].EntireRow.Delete
'recup 1er nombre
For i = 1 To [A65536].End(xlUp).Row
For j = 1 To Len(Cells(i, 1))
If Mid(Cells(i, 1), j, 1) >= "0" And Mid(Cells(i, 1), j, 1) <= "9" Then
k = InStr(j + 1, Cells(i, 1), " ")
If k = 0 Then k = Len(Cells(i, 1)) + 1
Cells(i, 1) = Mid(Cells(i, 1), j, k - j)
Exit For
End If
Next j
Next i
suivant:
Next w
End Sub
eric
Bonjour gbinforme,
Je te remercie pour ton aide, je n'aurai jamais pensé comparer la bureautique et le jardinage mais bon, c'est vrai que certaines règles de base se retrouvent un peu partout.
Bonjour eriiic,
La ligne "Articles en stocks: ..." est toujours notée de la même façon par contre elle peut être à la ligne 16, 18, 20... Cependant, de la line "Articles en stocks: …" à la ligne "… pour 100 articles" le nombre de ligne et les données sont constantes (une ligne d'information, une ligne vide…). Ensuite, il y a encore d'autres lignes qui ne sont pas nécessaires pour ce que je veux réaliser non plus.
J'essaierai ta macro quand j'aurai plus de temps libre (là j'ai trois projets professionnels à rendre pour mercredi matin). Au fait, si j'ai bien compris ta macro, car je n'y connais pas vraiment en programmation, elle va rechercher la ligne "Articles total en stocks" et conserver uniquement les nombres de cette ligne à la ligne 65536.
Pour les lignes qui ne sont pas nécessaires en dessous, ce n'est pas grave, je crois qu'elles sont toujours identiques, donc après la manipulation je sélectionnerai ces lignes sur toutes les feuilles (en mode groupe de travail) et je les effacerai.
Dans un autre classeur, j'ai aussi des lignes avec du texte et des nombres, mais là il n'y aura pas de lignes à supprimer, je veux juste garder les nombres, je peux utiliser une partie de ta macro pour réaliser cela ou y a-t-il une fonction plus simple?
Si j'ai bien compris ta macro voilà le résultat pour garder uniquement le premier nombre des lignes.
LookIn:=xlValues).Row
On Error GoTo 0
Range("A1:A" & i - 1).EntireRow.Delete
[2:3].EntireRow.Delete
'recup 1er nombre
For i = 1 To [A65536].End(xlUp).Row
For j = 1 To Len(Cells(i, 1))
If Mid(Cells(i, 1), j, 1) >= "0" And Mid(Cells(i, 1), j, 1) <= "9" Then
k = InStr(j + 1, Cells(i, 1), " ")
If k = 0 Then k = Len(Cells(i, 1)) + 1
Cells(i, 1) = Mid(Cells(i, 1), j, k - j)
Exit For
End If
Next j
Next i
suivant:
Next w
End Sub
Encore trois petites questions (je sais, je suis un emmerdeur (rire)).
Dans le cas où il y aurait deux nombres à conserver cela serait-il possible?
Parfois dans les noms, il y a du texte et des chiffres (exemple: MDD-13…), cela va-t-il poser des problèmes pour conserver les nombres (conflits) ou alors fera-t-il la part des choses entre un nombre (36000, 60000) et du texte avec des chiffres (MDD-14, MDD-99…)?
Dans ta macro, j'ai vu qu'il y avait pleins d'espaces devant certaines lignes (sûrement pour une lecture plus facile), quand je la copie dans Excel 2003, je les laisse ou je les enlève?
Je vous remercie tous les deux ainsi que Raymond pour vos nombreux conseils et votre aide, j'espère un jour avoir le niveau nécessaire pour moi aussi pouvoir aider d'autres personnes.
Je te remercie pour ton aide, je n'aurai jamais pensé comparer la bureautique et le jardinage mais bon, c'est vrai que certaines règles de base se retrouvent un peu partout.
Bonjour eriiic,
La ligne "Articles en stocks: ..." est toujours notée de la même façon par contre elle peut être à la ligne 16, 18, 20... Cependant, de la line "Articles en stocks: …" à la ligne "… pour 100 articles" le nombre de ligne et les données sont constantes (une ligne d'information, une ligne vide…). Ensuite, il y a encore d'autres lignes qui ne sont pas nécessaires pour ce que je veux réaliser non plus.
J'essaierai ta macro quand j'aurai plus de temps libre (là j'ai trois projets professionnels à rendre pour mercredi matin). Au fait, si j'ai bien compris ta macro, car je n'y connais pas vraiment en programmation, elle va rechercher la ligne "Articles total en stocks" et conserver uniquement les nombres de cette ligne à la ligne 65536.
Pour les lignes qui ne sont pas nécessaires en dessous, ce n'est pas grave, je crois qu'elles sont toujours identiques, donc après la manipulation je sélectionnerai ces lignes sur toutes les feuilles (en mode groupe de travail) et je les effacerai.
Dans un autre classeur, j'ai aussi des lignes avec du texte et des nombres, mais là il n'y aura pas de lignes à supprimer, je veux juste garder les nombres, je peux utiliser une partie de ta macro pour réaliser cela ou y a-t-il une fonction plus simple?
Si j'ai bien compris ta macro voilà le résultat pour garder uniquement le premier nombre des lignes.
LookIn:=xlValues).Row
On Error GoTo 0
Range("A1:A" & i - 1).EntireRow.Delete
[2:3].EntireRow.Delete
'recup 1er nombre
For i = 1 To [A65536].End(xlUp).Row
For j = 1 To Len(Cells(i, 1))
If Mid(Cells(i, 1), j, 1) >= "0" And Mid(Cells(i, 1), j, 1) <= "9" Then
k = InStr(j + 1, Cells(i, 1), " ")
If k = 0 Then k = Len(Cells(i, 1)) + 1
Cells(i, 1) = Mid(Cells(i, 1), j, k - j)
Exit For
End If
Next j
Next i
suivant:
Next w
End Sub
Encore trois petites questions (je sais, je suis un emmerdeur (rire)).
Dans le cas où il y aurait deux nombres à conserver cela serait-il possible?
Parfois dans les noms, il y a du texte et des chiffres (exemple: MDD-13…), cela va-t-il poser des problèmes pour conserver les nombres (conflits) ou alors fera-t-il la part des choses entre un nombre (36000, 60000) et du texte avec des chiffres (MDD-14, MDD-99…)?
Dans ta macro, j'ai vu qu'il y avait pleins d'espaces devant certaines lignes (sûrement pour une lecture plus facile), quand je la copie dans Excel 2003, je les laisse ou je les enlève?
Je vous remercie tous les deux ainsi que Raymond pour vos nombreux conseils et votre aide, j'espère un jour avoir le niveau nécessaire pour moi aussi pouvoir aider d'autres personnes.
si j'ai bien compris ta macro
Le mieux pour le comprendre est de la tester, en pas à pas si besoin.
pour garder uniquement le premier nombre des lignes.
'recup 1er nombre
For i = 1 To [A65536].End(xlUp).Row
For j = 1 To Len(Cells(i, 1))
If Mid(Cells(i, 1), j, 1) >= "0" And Mid(Cells(i, 1), j, 1) <= "9" Then
k = InStr(j + 1, Cells(i, 1), " ")
If k = 0 Then k = Len(Cells(i, 1)) + 1
Cells(i, 1) = Mid(Cells(i, 1), j, k - j)
Exit For
End If
Next j
Next i
Cherche le 1er chiffre et l'espace qui le suit, élimine tout le reste.
Tiens-toi à la question d'origine, si tu as un autre problème sans rapport il faut démarrer un autre post.
Pense aussi à t'inscrire pour passer les posts en résolu, c'est plus sympa (et plus efficace) pour les helper de ne pas à avoir à tout lire pour s'apercevoir que c'est fini.
eric
Le mieux pour le comprendre est de la tester, en pas à pas si besoin.
pour garder uniquement le premier nombre des lignes.
'recup 1er nombre
For i = 1 To [A65536].End(xlUp).Row
For j = 1 To Len(Cells(i, 1))
If Mid(Cells(i, 1), j, 1) >= "0" And Mid(Cells(i, 1), j, 1) <= "9" Then
k = InStr(j + 1, Cells(i, 1), " ")
If k = 0 Then k = Len(Cells(i, 1)) + 1
Cells(i, 1) = Mid(Cells(i, 1), j, k - j)
Exit For
End If
Next j
Next i
Cherche le 1er chiffre et l'espace qui le suit, élimine tout le reste.
Tiens-toi à la question d'origine, si tu as un autre problème sans rapport il faut démarrer un autre post.
Pense aussi à t'inscrire pour passer les posts en résolu, c'est plus sympa (et plus efficace) pour les helper de ne pas à avoir à tout lire pour s'apercevoir que c'est fini.
eric