|
|
|
|
Bonjour,
Je dois réaliser un exercice pour un cours sous Microsoft Office Excel 2003 et je peux demander à d'autres personnes un coup de main, je vous rassure. Le but étant de trouver une solution par n'importe quel moyen. Le professeur nous a dit, quand vous travaillerez, vous devrez parfois demander des informations à d'autres personnes pour arriver à réaliser un projet, car même un professeur ne peut pas connaître un domaine à 100 %.
J'ai un classeur (1) avec des feuilles 00001, 00002… contenant diverses informations (pour l'exemple je n'entrerai pas dans des détails superflu).
A1: numéro du client : 1250
A2: 10 commandes passées chez nous
A3: le client a commandé pour 2500 euros chez nous
... (bien sûr dans la réalité les feuilles contiennent beaucoup plus d'informations).
Ces informations ne sont pas toujours sur la même ligne, car il y a des lignes vides ou d'autres informations qui s'intercalent entre dont je n'ai pas besoin, ces informations varient suivant le client.
Sur un autre classeur (2) j'ai un tableau en colonne
Numéro du client - Nombre de commandes passées - Gain… (dans le tableau, j'utilise des abréviations, j'ai mis les noms complets ici pour plus de compréhension).
Le but de l'exercice est de transférer les données des feuilles du classeur (1) dans le tableau du classeur (2), le plus rapidement possible et avec une précision de 100 % (donc je dois éviter de retaper les informations car il pourrait y avoir des erreurs).
Donc, je pensais réaliser l'exercice comme suite:
Ajouter une première colonne (appelons-là, référence) dans le tableau du classeur (2) qui reprendrait le numéro de la feuille du classeur (1) dont les informations viennent.
Sélectionner toutes les feuilles du classeur (1) et puis sélectionner la première colonne.
Ensuite, je voulais effectuer l'opération suivante: Données > Délimité > Cocher Espace > Suivant > Terminer pour avoir une partie d'une information dans plusieurs colonne d'une ligne, malheureusement cela ne marche pas quand je suis en groupe de travail.
Après, je pensais effectuer les opérations ci-dessous dans le tableau du classeur (2) en partant de l'information dans la colonne référence (pour l'exemple, je prendrai A2 = 00001 (numéro de la première feuille du classeur (1))).
En B2 dire au système qu'il recherche "client" dans la feuille 00001 et qu'il prenne l'information correspondante de la colonne E (le numéro du client).
En C2 dire au système qu'il recherche "commandes" dans la feuille 00001 et qu'il prenne l'information correspondante de la colonne A (nombre de commandes passées).
En D2 dire au système qu'il recherche "euros" dans la feuille 00001 et qu'il prenne l'information correspondante de la colonne F (gain).
Mes questions sont:
Comment dois-je faire pour réaliser l'opération Données > Délimité... sur plusieurs feuilles?
Dans un tableau y a-t-il moyen d'utiliser une référence (nom ou numéro) et dire au système d'aller chercher des informations dans la feuille ayant le même nom ou numéro?
Y a-t-il moyen de dire au système de recherche un mot dans une feuille et lui dire de prendre l'information correspondante (sur la même ligne) dans une autre colonne?
Quand je vais tirer ma formule le système va-t-il prendre en compte la référence (nom ou numéro) suivant (sa je sais que oui) et aller chercher les informations de la nouvelle feuille ayant le même nom ou numéro?
Je ne sais pas si en expliquant en phrases comme ceci j'ai été assez clair.
Avez-vous une solution pour résoudre l'exercice?
Au fait, nous avons tous un exercice différent suivant notre niveau et parfois le professeur donne des exercices soit irréalisables ou très difficilement réalisables pour essayer que nous évoluions même si nous sommes plus doués que les autres. Je pense que c'est bien, car même les plus doués apprennent quelque chose mais d'un autre côté, nous ne savons pas toujours si l'exercice est réalisable ou pas.
Désolé pour ce long message et merci pour votre aide.
Configuration: Windows XP Internet Explorer 8.0
Bonjour eriiic,
|
Re,
|
Bonsoir eriiic,
|
Pas de soucis...
|
Bonjour eriiic,
|
Bonjour,
|
Bonjour eriiic,
|
Bonjour eriiic,
|
Bonjour,
Function SommeTotale(source As Range, année As Long) As Double
Dim c As Range, s As String, r As Double
' si année présente
For Each c In source
If c.Value = "année " & année Then
s = c.Offset(4, 0).Value
Exit For
End If
Next c
' année non trouvée
If s = "" Then
For Each c In source
If Left(c.Value, 26) = "le client a commandé pour " Then
s = c.Value
Exit For
End If
Next c
End If
r = Mid(s, 27, InStr(s, " euros") - 27)
SommeTotale = r
End Functionet la syntaxe devient :
=SommeTotale('[Classeur_1.xls]01'!$A$5:$A$18;2008) (je n'ai pas mis d'indirection pour ne pas embrouiller) [ http://www.cijoint.fr/cjlink.php?file=cj200906/cijWqOd2lI.xls Exemple] pour te mettre l'eau à la bouche si tu ne sais pas ajouter du vba. Y a-t-il un moyen de lui faire tenir compte de cette casse? Pour qu'il considère "Cables" et "cables" différemment Pour equiv() non. Pour cherche() tu as trouve() qui tient compte de la casse. Accessoirement tu peux savoir s'il un mot commence par une majuscule avec =CODE(A4)<97. Si VRAI: majuscule, si FAUX: minuscule. "métal" et "Metal" : fonction personnalisée Pour mieux comprendre, voici une partie du rapport de combat: J'ai l'impression que la structure est toujours la même, en attendant mieux tu peux tenter ça : Coller en colonne A, menu 'données / convertir...' délimité avec espace et : Les données qui t'interessent devraient toujours être dans la même cellule et tu te fais une synthèse avec des formules bcp plus simples dans une autre feuille. eric. |
Bonjour eriiic,
|