Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2900 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme de macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de macro

n°2252993
emilielala
Posté le 11-03-2015 à 19:56:05  profilanswer
 

Bonsoir à tous,  
débutante en VBA, je viens de m'inscrire sur ce site en espérant trouver quelques réponses à mon problème :)
 
Je vous explique le contexte:
j'ai deux fichiers: un fichier source dans lequel j'ai de nombreuses données et un second dans lequel je récupere certaines donnée (je l'apellerais fichier target) du dossier source.
je souhaite quand une condition est remplis dans une colonne copier certaines valeur de la ligne correspondante dans mon second fichier. je veux que ce copier/coller ce réalise tant que la condition est vrai.
 
avant de réaliser cela je demande par une macro qu'elle aye chercher mon dossier source et qu'elle enregistre le fichier target par un nom.
 
je souhaiterais également que toutes mes macros s'exécute ensemble.
 
je vous copie ma macro dessous.
Est ce que quelqu'un pourrais me dire où j'ai fait une erreur car j'ai erreur 91 et erreurs de compliation et je ne sais pas où j'ai "merdé"
merci d'avance
 
 
 
Public wbSource As Workbook
Public wbTarget As Workbook
 
Sub main()
 
Dim stFileName As String
 
stFileName = Application.GetOpenFilename
If stFileName <> "False" Then
    Workbooks.Open stFileName
    stFileName = Right(stFileName, Len(stFileName) - InStrRev(stFileName, "\" ))
     
    Set wbSource = Workbooks(stFileName)
    Set wbTarget = ThisWorkbook
     
    wbTarget.Activate
    Application.Dialogs(xlDialogSaveAs).Show ("Beam KPIs Week " & Format(Date, "ww", vbMonday, vbFirstFourDays))
 
End If
 
End Sub
 
Sub Acceptance()
   
Dim i As Integer
Dim j As Integer
Dim k As Integer
 
Dim wbSource As Workbooks
Dim wbTarget As Workbooks
Dim QG_Tracker As Worksheets
Dim Acceptance_status_W As Worksheets
 
 
i = 4
j = 3
k = 3
 
 
While (wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value <> "" )
    If wbSource.Worksheets("QG_Tracker" ).Cells(i, 15).Value <= Date And wbSource.Worksheets("QG_Tracker" ).Cells(i, 15).Value >= (Date - 6) Then
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 1).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 2).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 3).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 3).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 5).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 4).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 7).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 5).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 8).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 6).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 11).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 7).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 15).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 8).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 16).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 9).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 30).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 10).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 11).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 31).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 12).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 32).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 13).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 33).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 14).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 34).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 15).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 35).Value
        wbTarget.Worksheets("Acceptance status W" ).Cells(j, 16).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 36).Value
        j = j + 1
    End If
    If wbSource.Worksheets("QG_Tracker" ).Cells(i, 15).Value > Date And wbSource.Worksheets("QG_Tracker" ).Cells(i, 15).Value <= (Date + 7) Then
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 1).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 2).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 3).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 3).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 5).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 4).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 7).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 5).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 8).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 6).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 11).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 7).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 15).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 8).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 30).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 9).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 10).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 31).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 11).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 32).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 12).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 33).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 13).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 34).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 14).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 35).Value
        wbTarget.Worksheets("Acceptance planned W" ).Cells(k, 15).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 36).Value
        k = k + 1
    End If
    i = i + 1
 
Wend
 
End Sub
 
 
 
 
Sub Agreement()
   
Dim i As Integer
Dim j As Integer
Dim k As Integer
 
i = 4
j = 3
k = 3
 
While (wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value <> "" )
    If wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value <= Date And wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value >= (Date - 6) Then
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 1).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 2).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 3).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 3).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 5).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 4).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 7).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 5).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 8).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 6).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 11).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 7).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 8).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 30).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 9).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 10).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 31).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 11).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 32).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 12).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 33).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 13).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 34).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 14).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 35).Value
        wbTarget.Worksheets("Agreement status W" ).Cells(j, 15).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 36).Value
        j = j + 1
    End If
    If wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value > Date And wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value <= (Date + 7) Then
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 1).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 2).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 3).Value
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 3).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 5).Value
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 4).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 7).Value
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 5).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 8).Value
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 6).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 11).Value
        wbTarget.Worksheets("Agreement planned W" ).Cells(k, 7).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value
        k = k + 1
    End If
    i = i + 1
 
Wend
 
End Sub
 
Sub CSF()
 
Dim i As Integer
Dim j As Integer
 
i = 4
j = 3
 
While (wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value <> "" )
    If wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value = "CSF not fulfilled" And wbSource.Worksheets("QG_Tracker" ).Cells(i, 16).Value = " Not yet happened " Then
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 1).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 2).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 3).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 3).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 5).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 4).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 7).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 5).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 8).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 6).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 11).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 7).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 8).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 30).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 9).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 10).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 31).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 11).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 32).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 12).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 33).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 13).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 34).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 14).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 35).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 15).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 36).Value
        j = j + 1
    End If
    If wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value = "" And wbSource.Worksheets("QG_Tracker" ).Cells(i, 21).Value = "CSF not fulfilled" And wbSource.Worksheets("QG_Tracker" ).Cells(i, 16).Value = "In progress" Then
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 1).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 2).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 2).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 3).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 3).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 5).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 4).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 7).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 5).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 8).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 6).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 11).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 7).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 13).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 8).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 30).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 9).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 29).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 10).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 31).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 11).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 32).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 12).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 33).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 13).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 34).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 14).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 35).Value
        wbTarget.Worksheets("CSF not fulfilled" ).Cells(j, 15).Value = wbSource.Worksheets("QG_Tracker" ).Cells(i, 36).Value
        j = j + 1
    End If
    i = i + 1
Wend
 
End Sub
 
 
merci de votre aide,
Bonne soirée

mood
Publicité
Posté le 11-03-2015 à 19:56:05  profilanswer
 

n°2253135
Marc L
Posté le 12-03-2015 à 19:09:30  profilanswer
 

 
           Bonjour, bonjour !
 
           Commencer par lire les règles du forum afin de les respecter …
 
           Sinon copier des données d'une feuille de calculs selon une condition vers une autre feuille ne réclame pas dix lignes de code ‼
           Et ce en une seule passe sans boucle ! …
 
           S'entraîner en l'effectuant manuellement via un filtre avancé (B-A-BA d'Excel, consulter son aide) puis une fois aguerri,
           activer le Générateur de macros avant de la reproduire une nouvelle fois : une base de code est livrée sur un plateau !
 
           Astuce :  lorsque la destination du résultat d'un filtre avancé n'est pas la feuille source, se placer sur la feuille destination pour débuter …
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Probleme de macro

 

Sujets relatifs
probleme sur une macroProblème Macro excel 2007
probleme sur replace dans une macroProbleme macro excell
Probleme sur Macro Excel 2010Probléme syntaxe macro excel 4
Probleme compatibilité macro Excel 2003 -vers Excel 2010macro VBA sous excell 2000 probleme avec excell 2007
Macro Excel - Problème avec ActiveCell.Font.ColorIndexproblème macro import fichier text excel
Plus de sujets relatifs à : Probleme de macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR