Fabien35200
XLDnaute Nouveau
Bonjour à tous ,
J ai crée un code permettant de copier les cellules d un fichier à un autre si une condition d une colonne est indiqué.Cela dit lorsque la condition n est pas respectée,cela me retranscrit une ligne blanche,ce que je ne souhaite pas .Je pense qu il faut mettre une phrase après else disant de ne pas tenir compte de cette ligne,mais je bloque.
Ci joint le code:
Private Sub CommandButton1_Click()
Dim wkA As Workbook, wkB As Workbook
Dim x As Long
Dim j As Long
Dim h As Long
Application.ScreenUpdating = False
Set wkA = Workbooks("copie tableau de suivi test 2 .xlsm") ' classeur d arrivee
' Workbooks("copie tableau de suivi test .xlsm").Worksheets("BZH")
'Workbooks("tableau de bord - Copie du 4 mai - Copie.xlsm")
'Workbooks("tableau de bord - Copie du 4 mai - Copie.xlsm").Activate
Set wkB = Workbooks("tableau de bord - Copie du 4 mai - Copie.xlsm") ' classeur de donnée tableau de bord
x = wkB.Worksheets("relance completude").Range("A" & Rows.Count).End(xlUp).Row
h = wkA.Worksheets("Feuil3").Range("A" & Rows.Count).End(xlUp).Row
For j = 5 To x
If wkB.Worksheets("relance completude").Cells(j, 1) = "ok" Then
wkA.Worksheets("Feuil3").Cells(j, 1).Value = wkB.Worksheets("relance completude").Cells(j, 4).Value 'nom du projet
wkA.Worksheets("Feuil3").Cells(j, 2).Value = wkB.Worksheets("relance completude").Cells(j, 2).Value ' affaire mere
wkA.Worksheets("Feuil3").Cells(j, 3).Value = wkB.Worksheets("relance completude").Cells(j, 41).Value ' nom affaire colonne 1
wkA.Worksheets("Feuil3").Cells(j, 4).Value = wkB.Worksheets("relance completude").Cells(j, 40).Value ' n° affaire colonne 1
wkA.Worksheets("Feuil3").Cells(j, 5).Value = wkB.Worksheets("relance completude").Cells(j, 6).Value ' commune
Else
End If
Next j
End Sub
Merci beaucoup pour votre aide.
Fabien.
J ai crée un code permettant de copier les cellules d un fichier à un autre si une condition d une colonne est indiqué.Cela dit lorsque la condition n est pas respectée,cela me retranscrit une ligne blanche,ce que je ne souhaite pas .Je pense qu il faut mettre une phrase après else disant de ne pas tenir compte de cette ligne,mais je bloque.
Ci joint le code:
Private Sub CommandButton1_Click()
Dim wkA As Workbook, wkB As Workbook
Dim x As Long
Dim j As Long
Dim h As Long
Application.ScreenUpdating = False
Set wkA = Workbooks("copie tableau de suivi test 2 .xlsm") ' classeur d arrivee
' Workbooks("copie tableau de suivi test .xlsm").Worksheets("BZH")
'Workbooks("tableau de bord - Copie du 4 mai - Copie.xlsm")
'Workbooks("tableau de bord - Copie du 4 mai - Copie.xlsm").Activate
Set wkB = Workbooks("tableau de bord - Copie du 4 mai - Copie.xlsm") ' classeur de donnée tableau de bord
x = wkB.Worksheets("relance completude").Range("A" & Rows.Count).End(xlUp).Row
h = wkA.Worksheets("Feuil3").Range("A" & Rows.Count).End(xlUp).Row
For j = 5 To x
If wkB.Worksheets("relance completude").Cells(j, 1) = "ok" Then
wkA.Worksheets("Feuil3").Cells(j, 1).Value = wkB.Worksheets("relance completude").Cells(j, 4).Value 'nom du projet
wkA.Worksheets("Feuil3").Cells(j, 2).Value = wkB.Worksheets("relance completude").Cells(j, 2).Value ' affaire mere
wkA.Worksheets("Feuil3").Cells(j, 3).Value = wkB.Worksheets("relance completude").Cells(j, 41).Value ' nom affaire colonne 1
wkA.Worksheets("Feuil3").Cells(j, 4).Value = wkB.Worksheets("relance completude").Cells(j, 40).Value ' n° affaire colonne 1
wkA.Worksheets("Feuil3").Cells(j, 5).Value = wkB.Worksheets("relance completude").Cells(j, 6).Value ' commune
Else
End If
Next j
End Sub
Merci beaucoup pour votre aide.
Fabien.