Spécaliste de excel ou open office.org calc

Résolu/Fermé
Messages postés
2043
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
15 mai 2021
-
 ineslafraisheurdu75003 -
Bonjour à tous,

J'ai besoin de dire à mon tableur

si Hx et Ix = Ay et By alors Ky = Jx

avec a, b, h, i, k, j, les colonnes et x et y deux ligne différentes. les x se suvent, les y sont a chaque fois séparer de 2 lignes.

en fait c'est pour faire un calcul en fonction de données de sources différentes. je vire donc les données inutiles.

Je connais assez les ordi pour être sur qu'il suffit de le demander gentilment à l'ordi, et il me fera cela piour mes 1700 données, mais je ne connais pas assez par contre pour savoir comment lui demander.

Je préfèrerais le faire avec OOo2, mais si vous avez la solution pour excel, je suis preneur aussi.

Merci d'avance.

Renisaac

8 réponses

Messages postés
2571
Date d'inscription
vendredi 1 avril 2005
Statut
Contributeur
Dernière intervention
6 septembre 2008
378
hum !

je veux bien t'aider pour OOo ;) même avec Gnumeric si tu veux :p

mais là j'ai un peu de mal à visualiser ta requête, je vais tenter de synthétiser tout ce que tu écris mais essaie de faire un croquis en ASCII histoire de bien assimilé ou mieux un dessin à main levé que tu numérises :)

Mais pour info, dans ton énoncé tu as déjà la réponse:
=si (ET(valeurHx=Ay;valeurIx=By);Ky;"")


enfin c'est l'idée :) si j'ai bien compris !

Messages postés
6
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
21 mars 2007

Bonjour,

tu sembles être un connaisseur en open office calc, alors je me permet de te demander si tu peux répondre à mon problème :
je souhaite rentrer dans un fichier
en A1 prénom, en A2 nom en A3 emplacement en A4 fichier en A5 feuille en A6 cellule
où fichier est un fichier existant mais non ouvert
et récupérer en A7 la cellule :
emplacement/prenom.nom.fichier#feuille.cellule.

je ne suis pas certain d'avoir été assez claire, pour plus d'info tu peux regarder sur le forum excel que j'ai créer

si tu peux m'aider d'avance merci.
Messages postés
7395
Date d'inscription
vendredi 28 mars 2003
Statut
Contributeur
Dernière intervention
27 octobre 2020
3 172 >
Messages postés
6
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
21 mars 2007

salut
la réponse date de mai 2005 peu de chance qu'il revienne voir
tu peux aller là :
http://www.forum-openoffice.org/forum/
un forum en français dédié à OOo

erfytghklfdsq
Messages postés
2043
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
15 mai 2021
137
L'idée a l'aire bonne, mais je ne peux me basé sur les valeur proprement dite.

en fait j'ai une série de valeur qui a été prise tout les 1/4hr, donc première colonne: date (A), deusième colonne: heure(B) valeur conductimétrie en (C)

l'autre série j'ai les valeurs de concentration en Cl (J) toutes les 5 min, en avec colonne date (H) et colonne heure (I) donc je cherche à recopier en K les valeurs de chlore pour la date et heure dont j'ai la valeur de conductimétrie.

évidement, il y a plusieurs jours (donc pas uniquement sur heure) et il y a plusieur heure dans une journée (sisi, donc pas uniquement sur date).

Pour la ligne x, je dois chercher la ligne Y dont le couple date/heure correspont au couple date/heure de x. Donc je pense que mon chemin logique est bon, mais je ne sais pas comment le dire à OOo calc ou excel

dsl pour le croquis ascii, je comprend pas trop ce que tu veux dire.

donc ce serai plutot

en J3
=si(a3_et_b3=h250000_et_i250000;k250000;" ")


avec le 250000 à chercher le bon couple dans les deux colonnes.

Renisaac

P.S. gnumeric, c'est pas uniquement avec gnome, donc linux? vu que c'est pour mon mémoire, je préfère montrer les tecniques sous XP, même si perso, j'utilise plus debian.
Messages postés
2571
Date d'inscription
vendredi 1 avril 2005
Statut
Contributeur
Dernière intervention
6 septembre 2008
378
bon je vais tenter de réfléchir à tête reposée sur ton problème.

Il existe un portage Windows de Gnumeric :) encore en version beta pour le moment mais c'est pratique pour faire la navette entre deux systèmes :)
Messages postés
2043
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
15 mai 2021
137
ok

déjà merci de penser à mon pb.

perso, pouyr la navette, je le fait en OOo.

je dois aussi partir qq heures, je reviens soit ce soir et de toute façon au plus tard demain matin.

Renisaac
Messages postés
1846
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
31 août 2021
1 495
Hello renisaac,

Une solution pour Excel, avec une petite dose de travail manuel, mais bon.
Principe : utiliser une table des concentrations en CL, et l'utiliser avec la fonction RECHERCHEV.

1) Insérer une colonne devant la colonne A (ça décale tout, oK).

2) Dans cette colonne A, concaténer les jours et dates : An=Bn & Cn, pour toute la colonne

3) Définir un nom pour les données des colonnes A, B, C, D (par exemple Source)

4) Quelque part dans la feuille, dans une colonne libre (colonne Z pour l'exemple), faire la même chose : concaténer jour et heure des colonnes I et J (qui s'appelaient H et I avant le décalage).

5) En colonne L (ex colonne K), utiliser la formule :
=RECHERCHEV(Zn;Source;4;FAUX)

==> Quand il y a correspondance, on a le résultat... mais en cas de non correspondance, les cellules donnent : #N/A, ce qui n'est pas très élégant.

6) Copier toute la colonne Z, et faire un collage spécial sur elle-même avec l'option Valeurs

7) Remplacer les #N/A par rien du tout

8) Supprimer les colonnes de travail (Z et A)

Voilà.

Maintenant, si tu trouves ça fastidieux, la macro ci-dessous fait le boulot. Vérifie quand même :
- que tes colonnes D à G ne sont pas vides
- que ta colonne Z est disponible

Sub VazY()
  
  Application.ScreenUpdating = False
  
  Dim NbrLig  As Long
  Dim ColonA  As Range
  Dim ColonL  As Range
  Dim ColonZ  As Range
  
  NbrLig = Cells(1, 1).CurrentRegion.Rows.Count
  Columns("A:A").Insert Shift:=xlToRight
  Set ColonA = Range(Cells(1, 1), Cells(NbrLig, 1))
  Set ColonL = Range(Cells(1, 12), Cells(NbrLig, 12))
  Set ColonZ = Range(Cells(1, 26), Cells(NbrLig, 26))
  ActiveWorkbook.Names.Add Name:="Source", _
    RefersToR1C1:="=R1C1:R" & NbrLig & "C4"
  ColonA.FormulaR1C1 = "=RC[1]&RC[2]"
  ColonZ.FormulaR1C1 = "=RC[-17]&RC[-16]"
  ColonL.FormulaR1C1 = "=VLOOKUP(RC[14],Source,4,FALSE)"
  ColonL.Copy
  ColonL.PasteSpecial Paste:=xlPasteValues
  ColonL.Replace What:="#N/A", Replacement:=""
  Columns("Z:Z").Delete Shift:=xlToLeft
  Columns("A:A").Delete Shift:=xlToLeft
  Range("A1").Select
  
  Application.ScreenUpdating = True
  
End Sub

Ajx.

P.S. Chez moi ça marche. En cas de PB, fais signe.
Messages postés
2043
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
15 mai 2021
137
Salut,

désolé, c'est encore plus con que ça, j'ai pas encore eu le temps d'essayer. Je ne fait pas que ça, loin de là.

Normalement j'aurais 2hr demain matin pour tester. Je te tiens au courants.

Déjà merci d'avoir répondu.

Renisaac
Messages postés
2043
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
15 mai 2021
137
OK, parfait, merci beaucoup. C'était bien la fonction que je cherchais. J'ai eu un peu de mal à la comprendre, mais vive google.

Juste, pour completer, j'ai uniquement les valeurs voulues, mais entrecoupée de 2 cellule vide à chaque fois. j'ai pas trouvé dans les collage spéciaux comment faire pour remonter toutes les valeurs.


Renisaac
Messages postés
1846
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
31 août 2021
1 495
Hello,

Bon, si ça marche, c'est déjà ça.
Pour ma mise au point, je m'étais fait un échantillon censé correspondre à ta feuille de calcul.
Dans ma feuille, j'avais donc :
- en colonnes A, B, C : des relevés de 1/4 h en 1/4h, sur des lignes successives, sans trous, à partir de la ligne 1
- en colonnes H, I, J : des relevés de 5 minutes en 5 minutes, également sans trous, toujours à partir de la ligne 1.

Le résultat en colonne K alimente les lignes pour lesquelles on a correspondance Date/Heure entre les colonnes A-B d'une part, H-I d'autre part. D'où les 2 cellules vides entre chaque résultat, pour les écarts de 5 minutes sans correspondance.

Question : je comprends que tu souhaites éliminer, dans les colonnes H, I, J, K les valeurs sans correspondance avec la table des colonnes A, B, C. Est-ce que c'est ça ? est-ce que tu ne vas pas perdre des valeurs utiles en J ?
Ajx.
Messages postés
2043
Date d'inscription
dimanche 22 août 2004
Statut
Contributeur
Dernière intervention
15 mai 2021
137
Salut,

ok, Je sais que je perds des valeurs, mais ce qui m'importe, ce sont les valeur tout les 1/4hr, pour avoir 2 mesures exactement en même temps.

Et j'ai résolus le pb, tout simplement en mettant les colonne ABC toutes les 5 min, et HIJ tous les 1/4hr, toutes mes valeurs utiles sont recroupée au début, et tout les NA à la fin, très facil à éliminer.

Merci google pour les tuto, car le help de excel/OOo est un peu léger.

Ah oui, cette fonction existe aussi en OOo, VLOOKUP en anglais.

Encore merci Armojax. Grâce a toi, je peux enfin me concentrer sur le sujet du mémoire, et pas bêtement sur le traitement des données.

Renisaac
Messages postés
1846
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
31 août 2021
1 495
OK, bon week-end renisaac, et bonne chance pour ton mémoire.
Ajx.