Excel et vendee globe...

Résolu
ifebo -  
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à toutes et à tous

voilà: je me suis lancé dans une approche 'scientifique' de la régate virtuelle du vendée globe. J'ai donc un tableau xls qui donne pour chaque gisement au vent ( en degré: colonne 1) la vitesse de mon bateau,(en noeuds, col 2). Le tableau est divisé en trois zones horizontales
lignes 1 à 179: de 180°à 1° bâbord
ligne 180 : 0° (pile vent arrière)
lignes 181 à 360: de 1° à 180° tribord
pour info, la vitesse max est avec un angle de ~140°.......
J'ai rempli la zone tribord avec les vitesses correspondantes à chaque angle au vent, degré par degré, ligne par ligne.
Je souhaiterai maintenant copier la zone tribord vers bâbord: le hic, c'est que la ligne 180° est en quelque sorte l'axe de symétrie de cette série. Donc ligne 179= 181, puis 178=182 etc. Il faut un copier coller du bas vers le haut....
Et ça, je sais pas faire. Si c'est une macro, merci à vous de bien détailler la manip tant je suis nul....
aprés, il me faut un support en maths, pour la VMG..., si ca vous dit
Merci

5 réponses

  1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Bonjour

    Dans la cellule A1 entres 180

    dans la cellule A2 entres =A1-1 et tu tires vers le bas
    0
    1. Ifebo
       
      Bonjour Papi
      j'ai
      A B
      Gisement vitesse
      0 0° bâbord -
      1 1° bâbord -
      2 2° bâbord -
      .
      125 125° bâbord -
      .
      179 179° bâbord -
      180 180° 18 noeuds
      181 179° tribord 18.1
      182 178 tribord 18.2

      Il faut copier B:181 dans dans B:179 puis B:182 dans B:178 etc...
      J'ai essayé tes préconisations, ça ne fonctionne pas.
      Merci!
      0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    je n'ai pas tout compris mais si en ligne 179 tu veux afficher 181
    tu as =LIGNE()+2
    et tu incrémentes vers le bas

    si c'est pour afficher 181 puis 182 à partir d'une valeur, tu peux utiliser la fonction CHOISIR
    0
    1. Ifebo
       
      voir réponse sur page
      Merci
      0
  3. Ifebo
     
    Salut... Mike Toulouse?
    Je veux effectivement copier b:181 dans b:179; puis b:182 dans b:178 etc...
    Désolé je comprends pas la manip décrite....je me mets sur B:179 et là je mets = LIGNE()+2? Quoi entre les parenthèses? Puis pour étendre à toute la colonne?
    Merci....
    Ifebo
    0
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    re,

    =ligne()
    simplement te donne le numéro de la ligne ensuite +2 pour ajouter cette valeur au numéro ligne, ensuite il suffit d'incrémenter la formule vers le bas, mais c'est trop simpliste je ne comprends pas ton problème
    0
    1. Ifebo
       
      Simplement la ligne 180 est l'axe de symétrie OK? On a ensuite des valeurs sur les cellules B:181 B:182 etc que je veux reproduire sur les lignes B:179 B:178 etc, en miroir. C'est pas si compliquer à comprendre et pas si simple à faire. Désolé je capte pas tes explications...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    en B181:
    =DECALER($B$180;180-LIGNE();)
    à tirer vers le bas.
    Terminer par un copier-collage spécial valeur si tu veux te débarasser du lien vers la cellule.

    eric

    edit: comme apparemment tu as rempli d'abord le bas de ton tableau ça sera en B179 :
    =DECALER($B$180;180-LIGNE();)
    à tirer vers le haut.

    Jamais tu ne répondras à un mp non sollicité...
    Bon, ça c'est fait.
    0
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      non Eric, c'est l'inverse qui est demandé par Ifebo : pas copier les valeurs lignes 1 à 179 vers 181 à 359, mais copier les lignes 181 à 359 vers 179 à 1 :
      179 prend la valeur de la cellule 181
      178 prend la valeur de la cellule 182
      ....
      1 prend la valeur de la cellule 359

      du coup je pense qu'on peut s'inspirer de ta formule, mais il faut la faire dans l'autre sens.

      Cordialement.
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      oui, je l'ai vu après avoir posté, j'ai édité.
      Merci
      0
    3. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      donc selon ce que vient de dire eriiic (merci à toi), en B179 :
      =DECALER($B$180;180-LIGNE();0;;)
      à tirer vers le haut.
      0
    4. Ifebo
       
      Bravo, ca fonctionne! J'ai pas tout compris mais ca marche..
      Merci à vous deux.....
      Ifebo
      0
    5. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Ifebo : la fonction permet de récupérer les données en décalant la cellule de départ (B180) d'un certain nombe de lignes et de cellule.
      Pour B179, ça donne DECALER($B$180;1;0), donc ça prend la valeur de B181
      Pour B1, ça donne DECALER($B$180;179;0) donc ça prend la valeur de B359

      Cordialement.
      0