Aide pour mise à jour automatique

Résolu
simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour à tous,

Je sollicite votre aide pour un petit conseil ou du moins pour une petite piste. En effet je ne sais pas trop comment commencer ma vba (si vba nécessaire!)

Pour résumer :
- Une personne de mon entreprise va compléter un rapport global jour après jour en ajoutant des lignes à la feuille

Ces données ont besoin d'être copié automatiquement vers une autre feuille (ce sera selon le nom du pays concerné)

Le pays concerné remplira des informations dans son onglet et il faut que ces nouvelles informations se recopie automatiquement dans le fichier source.

Avez-vous une idée pour faire cela?

Merci d'avance pour votre aide.

15 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. Serait-il possible d'actualiser ces infos sur la Feuil1?
    oui, un peu comme dans le premier fichier
    2. (Peut être dans ce cas obligation de créer un ID unique)
    oui, ça va même être indispensable

    Bonne soirée
    1
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour
    ..." Ces données ont besoin d'être copié automatiquement vers une autre feuille"...
    ..." nouvelles informations se recopie automatiquement dans le fichier source. "...

    Fichier source ou feuille source ?

    Mettre le classeur (ou un extrait) sans données confidentielles en pièce jointe sur https://www.cjoint.com/
    et coller le raccourci proposé dans le message de réponse

    Michel
    0
  3. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
     
    Bonjour Michel, merci pour la réponse.

    http://www.cjoint.com/c/EFpowm0AGJv

    Donc dans l'onglet Source, dès que la personne rajoute une ligne, je voudrais que l'onglet correspondant aux pays d'origine (Colonne F) se mette à jour avec la nouvelle ligne ajoutée.

    Ensuite la personne du pays concerné (par exemple IE), renseigne des informations et ces informations sont automatiquement remise à jour dans le fichier source.

    Merci d'avance
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      RAPPEL:
      FICHIER SOURCE C'EST QUOI ?
      0
    2. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Désolé fichier Source c'est Onglet Source
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Un (petit) exemple
    http://www.cjoint.com/c/EFppts4zJVg

    Salutations à Michel en passant

    Cdlmnt
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Pour éviter de copier deux fois la même ligne
      http://www.cjoint.com/c/EFppKztlDLg

      Cdlmnt
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Pour ne recopier que les valeurs (problème de la formule en colonne G)
      http://www.cjoint.com/c/EFprtqxyNrg
      Cdlmnt
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
     
    Super merci pour l'aide.

    Est-il possible de copier directement toutes les lignes avec un seul bouton sans être obligé de le faire ligne par ligne?

    Pour ça je pensais créer un ID unique pour chaque ligne. Est-ce une bonne méthode?
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. Est-il possible de copier directement toutes les lignes avec un seul bouton sans être obligé de le faire ligne par ligne?
    bien sûr
    question 1. est ce que les feuilles de détail sont déjà créées, si c'est non, la macro peut s'en charger
    2. Pour ça je pensais créer un ID unique pour chaque ligne. Est-ce une bonne méthode?
    Très bonne idée même, un simple numéro en colonne 1 peut très bien faire l'affaire

    Tu dis
    0
    1. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Oui les feuilles sont déjà créées. Merci pour ton support. J'essaie d'avancer avec les infos que tu m'as donné.
      0
  8. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
     
    http://www.cjoint.com/c/EFqqrGrnsav

    Bonjour à tous,

    Du coup en regardant un peu sur internet, j'ai modifié une macro utilisant l'objet Dico, c'est la première fois que je l'utilise et ça accélère grandement le code.

    Alors j'ai une petite question.

    Je voudrais que dans ma colonne F lorsque la macro rencontre les pays (IT, FR, DE, GB et CH) cette dernière la copie dans l'onglet IE.

    Je me doute qu'il faut définir avec le dico (key et item) mais j'avoue ne pas comprendre tout à fait. Peut être ce n'est pas la bonne méthode?

    Je continue à essayer, merci d'avance pour ceux qui y jetteront un coup d'oeil.
    0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Tu n'as pas vraiment besoin de l'objet dictionary dans la mesure où tu supprimes toutes les feuilles de détail avant de les re-créer
    Un exemple dans le Module 2 (ctrl+k pour lancer la macro)
    http://www.cjoint.com/c/EFqryBsG7Fg

    Cdlmnt
    0
  10. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
     
    Ah ok effectivement ça parait plus logique comme ça. Ca marche nikel.

    Merci vraiment pour ton aide c'est super sympa.

    Du coup pour aller plus loin. Imaginons que les pays d'origine (IE, IN, CN et US) aient accès à ce fichier et remplisse dans l'onglet qui leur corresponde les informations de colonne P jusqu'à la colonne AB.

    Serait-il possible d'actualiser ces infos sur la Feuil1? (Peut être dans ce cas obligation de créer un ID unique)

    Encore merci
    0
  11. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
     
    http://www.cjoint.com/c/EFrm1oVbiTv

    Salut à tous, en module 3 j'ai essayé d'utiliser la fonction Find et d'identifier le numéro de ligne de la Feuil1 pour ensuite copier les informations de l'onglet IE vers la feuil1.

    Mais la boucle ne fonctionne plus à partir de i = 2. je ne comprends pas. Avez-vous une idée si jamais qqn à le temps de regarder.

    Merci d'avance. Bonne journée à tous
    0
    1. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Désolé pour le dérangement, mes ID n'était pas en valeur, voilà pourquoi il ne les trouvait pas.
      0
  12. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
     
    http://www.cjoint.com/c/EFrnKxNY3Gv

    Voilà ce que j'ai fait, je pense que ça marche.

    Si un d'entre vous pense pouvoir l'améliorer (certainement); n'hésitez pas à me dire
    0
  13. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. Voilà ce que j'ai fait, je pense que ça marche.
    si tu as testé et que ça donne le résultat attendu, c'est que ça marche
    2. En faisant un peu de ménage essaies celle-ci

    Sub Actu1()
    Dim DLig As Long
    Dim i As Long
    Dim f As Long
    Dim ID As Long
    Dim Trouve As Object, PlageDeRecherche As Range
    Set PlageDeRecherche = Sheets("Feuil1").Columns(1)
    For f = 2 To Worksheets.Count
      With Sheets(f)
        DLig = .Range("A" & Rows.Count).End(xlUp).Row
        DCol = Cells(10, Columns.Count).End(xlToLeft).Column
        For i = 11 To DLig
          ID = Range("A" & i).Value
          Set Trouve = PlageDeRecherche.Find(what:=ID, LookAt:=xlWhole)
          If Not Trouve Is Nothing Then
            therow = Trouve.Row
            .Range(.Cells(i, 17), .Cells(i, DCol)).Copy Destination:=Sheets("Feuil1").Range("Q" & therow)
          End If
        Next i
      End With
    Next f
    End Sub
    

    Cdlmnt
    0
    1. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Merci pour ta réponse, cela ne fonctionne pas, pour l'ID, cela va toujours chercher l'information en feuil1 et pas dans les autres feuilles
      0
  14. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Exact
    ID = Range("A" & i).Value
    Il manque le . (point) devant Range pour référence à la feuille Sheets(f)
    ..... que j'ai oublié aussi
    0
    1. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Ah ok super tu viens de m'apprendre un truc cool.

      C'est un peu pareil que .me ?
      0
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Si on veut

      With Sheets(f)
      toute référence de plage/cellule commençant par .
      sera vue dans sheets(f)
      d'ailleurs, dans ton code tu en as pas mal
      DLig = .Range("A" & Rows.Count).End(xlUp).Row --> dans sheets(f)

      DCol = Cells(10, Columns.Count).End(xlToLeft).Column --> dans ?
      il manque le point ici aussi (pas dramatique car toutes
      les feuilles ont la même ligne 10, mais ce n'est pas beau donc ....

      End With
      0
    3. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Ok merci pour l'info j'ai modifié tout ça ;)

      Dis moi juste une dernière demande avant de te laisser tranquille.

      Dans la première macro, comment puis-je faire pour copier les lignes en gardant les bordures?
      0
  15. ccm81 Messages postés 11033 Statut Membre 2 434
     
      If FeuilleExiste(Ori) Then
        liFC = Sheets(Ori).Cells(Rows.Count, 1).End(xlUp).Row + 1
        Sheets(FS).Rows(liFS).Copy
        Sheets(Ori).Cells(liFC, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        Sheets(Ori).Cells(liFC, 1).PasteSpecial Paste:=xlPasteFormats
      Else
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Name = Ori
        Sheets(FS).Rows(lideb).Copy Sheets(Ori).Cells(lideb, 1)
        Sheets(FS).Rows(liFS).Copy
        Sheets(Ori).Cells(lideb + 1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        Sheets(Ori).Cells(lideb + 1, 1).PasteSpecial Paste:=xlPasteFormats
      End If
    0
    1. simon7339 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   1
       
      Au top, encore merci pour tout
      0
  16. ccm81 Messages postés 11033 Statut Membre 2 434
     
    DE rien

    Si c'est fini, merci de mettre le sujet à Résolu (en haut à droite de ton premier message)

    Bonne fin de journée
    et bon courage pour la suite ....
    0