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:
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. J'espère aussi avoir été à peu près clair. Merci en tous cas pour toute l'aide apportée.
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
27 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
Partager