Ok merci.
J'ai donc mis le fichier.
Le principe :
5 onglets et un onglet récap.
Chaque onglet est alimenté par un formulaire de saisie présent dans un autre classeur (un classeur par DR).
Jusque là tout va bien...
Mais comme déjà énoncé, lorsque je voulais concaténer, je récupérais les formules et ça générait des pb..résolus depuis avec ta proposition de code.
Mais maintenant, j'ai plein de lignes avec des valeurs à 0 que je souhaite supprimer (si la colonne F est à 0 donc). comme on peut le voir sur le fichier joint..
Et la partie de mon code supplémentaire ne fonctionne pas. C'est pour cela que je l'ai mis en commentaires vers la fin..(cela me récupère une quinzaine de lignes?? alors que 5 seulement sont remplies via les onglets et en plus les valeurs sont toutes à 0). Si besoin je peux aussi mettre l'exemple dans un fichier joint supplémentaire pour voir les lignes récupérées.
ublic Sub recap()
Application.ScreenUpdating = False
' je concatène tous mes ongletsen ne prenant que les valeurs, pas les formules.
Worksheets("recap global").Range("A2:BZ60000").ClearContents
Set wso = Sheets("recap global")
dlo = 2
wso.Rows("2:" & dlo).ClearContents
For Each ws In Worksheets
If ws.Name <> wso.Name Then
dli = ws.Cells(Rows.Count, 1).End(xlUp).Row
If dli > 1 Then
ws.Rows("2:" & dli).Copy
wso.Cells(dlo, 1).PasteSpecial Paste:=xlPasteValues
dlo = dlo + dli - 1
End If
End If
Next
dlo = dlo - 1
'et maintenant je supprime les lignes si la colonne F contient un 0
'Dim rcel As Range
'Range("f2:f60000").Select
'Selection.CurrentRegion.Select
'For Each rcel In Selection
'If rcel.Value = 0 Then
'rcel.EntireRow.Delete
'End If
'Next rcel
Application.ScreenUpdating = True
End Sub
Merci beaucoup.