IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

macro pour transfert de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 67
    Par défaut macro pour transfert de données
    Bonjour à tous,
    Je souhaiterai une aide car si je me suis mis au Vba je suis encore trop novice pour établir des macros seul. Je voudrais automatiser le transfert du stock journalier de la colonne B de la feuil1 vers le stock mensuel de la feuil2(dans le reel il s'agit de 2 classeur différents mais pour l'exemple je les ai assemblée dans un classeur) en sachant que la date de la feuille 1 est aujourdhui(). cette date sera recherchée en colonne A de la feuille 2.Les criteres du stock sont en colonne a5:a9 pour la feuille 1, criteres que je retrouve dans les colonnes B:E dans la feuille 2
    Je joins évidemment le fichier
    Merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Je me suis permis d'ouvrir ton fichier, alors qu'il serait mieux d'expliciter ce que tu as fais! poster un fichier et attendre des réponses...
    Pour cette fois, ci-dessous une proposition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim plage As Range, c As Range
    Dim LastLig As Long
    Dim i As Byte
     
    LastLig = Sheets("Feuil2").Range("A65536").End(xlUp).Row
    Set plage = Sheets("Feuil2").Range("A7:A" & LastLig)
    Set c = plage.Find(Sheets("Feuil1").Range("A1").Value, LookIn:=xlFormulas, lookat:=xlWhole)
    If Not c Is Nothing Then
        For i = 1 To 5
            c.Offset(0, i).Value = Sheets("Feuil1").Range("B" & i + 4).Value
        Next i
    End If
    Set c = Nothing
    Set plage = Nothing

  3. #3
    Membre chevronné
    Inscrit en
    Février 2008
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 267
    Par défaut
    Bonjour,

    Essaie avec ce code à placer dans le classeur où se trouve les données à reporter (celles en jaune dans la feuille 1).

    A noter que :
    - Dans le classeur contenant les données en couleur jaune, la feuille est nommée FEUIL1
    - Dans le classeur contenant le tableau à compléter, la feuille recevant les données est nommée FEUIL2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub test()
    'Macro Dan pour arctica le 04/11/09 sur excel developpez
    Dim lig As Byte
    Dim wbk1 As Workbook, wbk2 As Workbook
    Set wbk1 = ThisWorkbook
    Set wbk2 = Workbooks("Tata.xls")
    On Error GoTo Fin
    lig = WorksheetFunction.Match(wbk1.Sheets("Feuil1").Range("A1"), _
            wbk2.Sheets("Feuil2").Range("A7:A37"), 0) + 6
    With wbk2.Sheets("Feuil2")
        .Range("B" & lig) = wbk1.Sheets("Feuil1").Range("B5")
        .Range("C" & lig) = wbk1.Sheets("Feuil1").Range("B6")
        .Range("D" & lig) = wbk1.Sheets("Feuil1").Range("B7")
        .Range("E" & lig) = wbk1.Sheets("Feuil1").Range("B8")
        .Range("F" & lig) = wbk1.Sheets("Feuil1").Range("B9")
    End With
    Exit Sub
    Fin:
    MsgBox "La date en cellule " & wbk1.Sheets("Feuil1").Range("A1") & vbCrLf & _
        "n'existe pas dans le fichier " & wbk2.Name
    End Sub
    Amicalement

    Dan

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 67
    Par défaut
    bonjour Mercatog,bonjour Nad-Dan

    Je sors d'une reunion je n'ai donc pu répondre plus vite .Je vais donc tester vos macros que vous m'avez écrites en les étudiant pour apprendre. A l'heure actuelle quand j'ecris des macros et que cela ne marche pas je ne les mets pas systematiquement en page car quand je les compare aux votres je m'apercois que c'est parfois du charabia en tous les cas merci pour votre aide

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    quand j'ecris des macros et que cela ne marche pas je ne les mets pas systematiquement en page
    Mon avis personnel, mauvaise décision, de ses propres fautes on apprends mieux.

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 67
    Par défaut utilisation macro avec 2 classeurs
    Bonjours à tous

    J'ai un souci avec la macro de Mercatog, (merci à lui) qui fonctionne tres bien avec le fichier fourni . Mon problème est que j'essaye de la faire fonctionner entre 2 classeurs La feuille 1 = (Wbstock_journalier.Worksheets("Tagesbestand").et la feuille 2 =(WbBestand_2009.WorkSheets("novembre" )classeur2 Dans le developpement je n'ai pas d'erreur mais au final le transfert des données ne se fait pas Voici la macro originale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub stic()
     
    Dim plage As Range, c As Range
    Dim LastLig As Long
    Dim i As Byte
     
    LastLig = Sheets("Feuil2").Range("A65536").End(xlUp).Row
    Set plage = Sheets("Feuil2").Range("A7:A" & LastLig)
    Set c = plage.Find(Sheets("Feuil1").Range("A1").Value, LookIn:=xlFormulas, lookat:=xlWhole)
    If Not c Is Nothing Then
        For i = 1 To 5
            c.Offset(0, i).Value = Sheets("Feuil1").Range("B" & i + 4).Value
        Next i
    End If
    Set c = Nothing
    Set plage = Nothing
    End Sub
    et voici celle que j'essaye d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub stockage()
     
    Dim Wbstock_journalier As Workbook, WbBestand_2009 As Workbook
    Dim plage As Range, c As Range
    Dim LastLig As Long
    Dim i As Byte
    Workbooks.Open "C:\Documents and Settings\PC42\Bureau\suivi stock\stock_journalier.xls"
    Set Wbstock_journalier = ActiveWorkbook
    ActiveWorkbook.RefreshAll
    Workbooks.Open "T:\suivi_stock_2009\Bestand_2009.xls"
    Set WbBestand_2009 = ActiveWorkbook
    'With WbBestand_2009.Worksheets("novembre")
    LastLig = Sheets("novembre").Range("A65536").End(xlUp).Row
    Set plage = Sheets("novembre").Range("A7:A" & LastLig)
    'With Wbstock_journalier.Worksheets("Tagesbestand")
    Set c = plage.Find(Wbstock_journalier.Worksheets("Tagesbestand").Range("A1").Value, LookIn:=xlFormulas, lookat:=xlWhole)
    If Not c Is Nothing Then
        For i = 1 To 5
            c.Offset(0, i).Value = Wbstock_journalier.Worksheets("Tagesbestand").Range("B" & i + 4).Value
        Next i
    End If
    Set c = Nothing
    Set plage = Nothing
    'End With
    'end With
    End Sub
    je ne vois pas ou est l'erreur
    Pourriez vous m'aider? le classeur est le classeur 1 joins

Discussions similaires

  1. éélaboration d'une macro pour importation de donnée dans excel 2003
    Par wuging dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2010, 08h33
  2. Cherche solution pour transfert de donnée
    Par marcolo21 dans le forum C#
    Réponses: 7
    Dernier message: 22/07/2010, 08h39
  3. [XL-2003] Macro pour récupérer les données du volet espion
    Par _cece dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/01/2010, 16h00
  4. [XL-2003] Macro pour utiliser des données Excel dans un document Word
    Par Jeremy0269 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/07/2009, 18h58
  5. Macro de transfert de données d'une feuille active vers 1 autre
    Par M8407108 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/12/2007, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo