[excel 2003] mise à jour lignes et formules

jérém 56990 -  
 jeremy59660 -
Bonjour,

Le titre n'étant pas très évocateur, je vais essayer de m'expliquer un peu mieux.
En gros j'ai un classeur excel avec 2 onglets A et B. Un avec des listes qui me servent de base de données(onglet A pour les tableaux de l'autre onglet.

Je souhaite que lorsque je vais modifier le contenu (texte) d'une des cellules dans l'onglet A, ce texte se modifie aussi dans le tableau de l'onglet B. De plus, il faudrait que l'ajout d'une valeur dans le tableau de l'onglet A ajoute une ligne avec cette valeur dans le tableau de l'onglet B.

Voila un des tableaux de mon onglet A

colonne A

Je mange des chips
Je mange des bananes
Je mange des tomates
Je mange des choux
Je mange des patates

Dans l'onglet B ca donne

Colonne B Colonne C Colonne D

Je mange des chips Formule Formule
Je mange des bananes Formule Formule
Je mange des tomates Formule Formule
Je mange des choux Formule Formule
Je mange des patates Formule Formule

les formules sont surtout des NB SI et des SOMME.SI.

ce que je souhaite c'est que si j'ajoute je mange des cornichons dans le tableau de l'onglet A, celui-ci s'ajoute dans le tableau de l'onglet B, et que les fomules glissent automatiquement.( si ça pouait de mettre automatiquement dans l'ordre alphabétique ça serait vraiment sympa!!!!!)

Si quelqu'un peut m'éclairer..Merci par avance

Cordialement,

Jérémy
Configuration: Windows XP Internet Explorer 6.0

7 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Alors pas si évident que cela à réaliser.
    Dans l'onglet B tu peux mettre ce genre de formule en Colonne A :
    =SI(Feuil1!A1<>"";Feuil1!A1;"") et tu l'étires vers le bas.
    En colonne B :
    =SI(A1<>"";mets ici ta formule;"")
    pareil en C.
    Par contre si tu veux un tri par ordre alpha automatique, il faudra passer par une macro...
    0
    1. jérém 56990
       
      Dans un premier temps, un grand merci pour la réactivité! on voit cela pour très peu de forum!!!

      La formule que tu me donne marche dans le sens où les lignes de mon tableau de l'onglet B prennent bien les valeurs texte de l'onglet A, mais le problème est que lorsque j'insère une ligne dans le tableau de l'onglet A avec une nouvelle valeur (je mange des cornichons), celle-ci ne sinsère pas dans le tableau de l'onglet B. :s

      Encore merci pour la réponse pijaku.

      Cordialement,

      Jérémy
      0
  2. jérém 56990
     
    Si quelqu'un connaît la petite chose à ajouter dans la formule pour que la ligne s'insère aussi dans mon onglet B, je suis preneur!!!(si nous pouvions éviter les macros...)

    Pour les formles autrement elles marchent toutes!!!! Il ne manque plus que l'insertion et c'est parfait.

    Cordialement,

    Jérémy
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Re
      A mon avis impossible sans macro...
      Le fait d'insérer une ligne au milieu de ton tableau A fait que la formule dans le tableaui B change... Donc VBA. remarque que la solution VBA ne doit pas être compliquée et doit s'appliquer facilement.
      A toi de voir.
      0
      1. jerem > pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention  
         
        va pour du vba pas le choix ... et m****..

        Pour ceux que ça interresse la VBA c'est

        Sub Masquer_Lignes_Vides()

        (trier section par ordre alpha)
        Range("A6:A31").Select
        Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        (trier section par ordre alpha)

        (supprime les lignes vides)
        Application.ScreenUpdating = False

        Sheets("recap AGENCE LORRAINE").Select
        Range("B6:B26").Select
        For Each Cell In Selection
        Cpt = 0
        For i = 0 To 11
        If Cell.Offset(0, i) <> "" Then
        Cpt = Cpt + 1
        End If
        Next
        If Cpt = 0 Then
        Cell.EntireRow.Hidden = True
        Else
        Cell.EntireRow.Hidden = False
        End If
        Next
        Application.ScreenUpdating = True
        (supprime les lignes vides)

        Cordialement,

        Jérémy
        0
  3. jerem
     
    Nouvelle question, je veux trier par ordre alphabétique plusieur plages de cellules différentes via une macro. Pour une plage c'est ça :

    Range("A37:A57").Select
    Selection.Sort Key2:=Range("A37"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal

    Mias des que j'utilise union, il me dit qu'il y a erreur sur la suite.
    Quelqu'un peut m'aider?

    Cordialement,

    Jérémy
    0
  4. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    union?????
    Je ne vois pas du tout de quoi vous parlez?
    0
    1. jerem
       
      logiquement union sert à selectionner plusieur plage de données, ce quui m'aurait arranger , mais dans ce cas ça ne marche pas et je ne sais pas pourquoi donc si vous avez un autre moyen ...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Vous souhaitez sélectionner par exemple A37:A57 & G12:G68 & L192:L243 et trier le tout?
    Si oui Excel ne peux pas trier sur des sélections multiples...
    0
    1. jeremy
       
      nn pas trier le tout, mais trier chaque plage indépendemment et ce dans une seule macro..

      Gbinforme m'a donné la solution !!

      La solution c'est

      Range("A6:A31").Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlYes, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
      Range("A36:A57").Sort Key1:=Range("A36"), Order1:=xlAscending, Header:=xlYes, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
      Range("A64:A77").Sort Key1:=Range("A64"), Order1:=xlAscending, Header:=xlYes, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
      Range("A82:A115").Sort Key1:=Range("A82"), Order1:=xlAscending, Header:=xlYes, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

      Je te remercie pour ton aide Pijaku!!!!

      Bon après-midi

      Cordialement
      0
  7. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    De rien j'ai pas fait grand choz...
    pluka mettre en "résolu"
    0
  8. jeremy59660
     
    Impossible de le mettre en résolu, pb d'identification. Si vous pouvez, mettez le résolu pour moi.

    Cordialement,

    Jérémy LAMY
    0