Excel 2003 - Garder des informations précises
Résolu/Fermé
A voir également:
- Excel 2003 - Garder des informations précises
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Excel additionner des cellules - Guide
- Word et excel gratuit - Guide
7 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 705
18 mai 2009 à 09:38
18 mai 2009 à 09:38
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.
Utilisateur anonyme
18 mai 2009 à 23:02
18 mai 2009 à 23:02
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.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 705
17 mai 2009 à 22:07
17 mai 2009 à 22:07
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 ?
Raymond PENTIER
Messages postés
58719
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
7 novembre 2024
17 233
18 mai 2009 à 01:12
18 mai 2009 à 01:12
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.
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
18 mai 2009 à 10:56
18 mai 2009 à 10:56
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.
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
18 mai 2009 à 17:30
18 mai 2009 à 17:30
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