Bonjour à tous,
Je voudrais créer un programme dont les grandes lignes générales correspondent
à ceci :
1- sélectionner la cellule dont la valeur est "SOLDE"
2- séléctionner les cellules non vides dans la colonne dessous
la cellule référente
3- si valeur différente de 0 et si valeur différente de "SOLDE" et si
forumule ds cellule différente de " =Somme(G3:G40)"
=>alors :
copie ds 1ère feuille du classeur en cours toutes les lignes des cellules respectant les si.
Mon ébauche donne ceci:
Sub test()
Dim monfichier As Workbook
Dim adr As String
Dim recap As String
Dim direc As Integer
Set monfichier = Workbooks.Open("\\Nwanex\donnees\daf\daf4\B236\2007 FACTURES\CHAPITRE 0214- 02\fourre-tout\LISTE DES FACTURES ET BC 2007 TOURRE TOUT")
monfichier.Worksheets(1).Select
Range("1:1").Select
For Each Item In Selection
If Item.Value = "SOLDE" Then
adr = Item.Address
MsgBox (adr)
End If
Next
Range((adr), Range(adr).End(xlDown)).Select
For i = 1 To Selection.Count
If Cells(i, 7).Value > "0" And Cells(i, 7).Value <> "SOLDE" And _
Cells(i, 7).Formula <> "=SOMME(G3:G40)" Then
recap = Cells(i, 7).Address
direc = Cells(i, 7).Count
Range(recap).EntireRow.Copy ThisWorkbook.Worksheets(1).Range("A2")
ThisWorkbook.Worksheets(1).Activate
MsgBox ("tout marche")
End If
Next
Application.CutCopyMode = False
End Sub
Mon problème est au niveau de la copie. Il prend en bien charge la première valeur, mais s'arrête après. Je ne comprend pas pourquoi. Je suis sous Excel 97. J'espère aussi avoir été à peu près clair. Merci en tous cas pour toute l'aide apportée.
Je voudrais créer un programme dont les grandes lignes générales correspondent
à ceci :
1- sélectionner la cellule dont la valeur est "SOLDE"
2- séléctionner les cellules non vides dans la colonne dessous
la cellule référente
3- si valeur différente de 0 et si valeur différente de "SOLDE" et si
forumule ds cellule différente de " =Somme(G3:G40)"
=>alors :
copie ds 1ère feuille du classeur en cours toutes les lignes des cellules respectant les si.
Mon ébauche donne ceci:
Sub test()
Dim monfichier As Workbook
Dim adr As String
Dim recap As String
Dim direc As Integer
Set monfichier = Workbooks.Open("\\Nwanex\donnees\daf\daf4\B236\2007 FACTURES\CHAPITRE 0214- 02\fourre-tout\LISTE DES FACTURES ET BC 2007 TOURRE TOUT")
monfichier.Worksheets(1).Select
Range("1:1").Select
For Each Item In Selection
If Item.Value = "SOLDE" Then
adr = Item.Address
MsgBox (adr)
End If
Next
Range((adr), Range(adr).End(xlDown)).Select
For i = 1 To Selection.Count
If Cells(i, 7).Value > "0" And Cells(i, 7).Value <> "SOLDE" And _
Cells(i, 7).Formula <> "=SOMME(G3:G40)" Then
recap = Cells(i, 7).Address
direc = Cells(i, 7).Count
Range(recap).EntireRow.Copy ThisWorkbook.Worksheets(1).Range("A2")
ThisWorkbook.Worksheets(1).Activate
MsgBox ("tout marche")
End If
Next
Application.CutCopyMode = False
End Sub
Mon problème est au niveau de la copie. Il prend en bien charge la première valeur, mais s'arrête après. Je ne comprend pas pourquoi. Je suis sous Excel 97. J'espère aussi avoir été à peu près clair. Merci en tous cas pour toute l'aide apportée.