Verifier si feuille contient des données a partir de A3

Bonjour a tous

j'ai cette macro

Dim MaPlage As Range
 ChDir "T:\DSQVT\Suivi des Situations" 'choix dossier
    Workbooks.Open Filename:="T:\DSQVT\Suivi des Situations\Suivi des Situations 94.xlsm" ' OUVRIR LE FICHIER
   Sheets("Synthese").Select 'SELECTION DE LA FEUILLE
With Worksheets("Synthese")

Set MaPlage = Range("A3:AT" & Range("A3").End(xlDown).Row)
MaPlage.Select
'Copier la selection
Selection.Copy
End With
    Selection.Copy 'COPIER
    Windows("Suivi des Situations global.xlsm").Activate
          Sheets("Synthese").Select
    ActiveSheet.Unprotect ("qvt2018*")
'Selectionner la première ligne vide
Range("A65536").End(xlUp).Offset(1).Select
'Copier les valeurs dans la ligne selectionnée
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Windows("Suivi des Situations 94.xlsm").Activate 'FERMER LE FICHIER OUVERT
   Application.DisplayAlerts = False
    ActiveWorkbook.Close

je voudrais pouvoir verifier si la feuille a partir de A3 contient des données

si oui copier les données

si non on ferme le classeur et on passe au suivant.

Merci de votre aide

bonjour

concernant VBA, je laisse à des spécialistes le soin de te répondre

je propose alternativement une fonctionnalité d'Excel : Power Query

tu le télécharges pour ta version 2010

https://www.youtube.com/watch?v=gwW2CDdvUUs

il est inclus dans les versions plus récentes que 2013

menu Power Query/récupérer ou obtenir/ de répertoire ou de "classeur" (le terme classeur signifie ici un répertoire. Microsoft a fait une boulette ! )

ça lit tous les fichiers d'un coup dans une nouvelle fenêtre

ensuite tu sauras supprimer les lignes 1 et 2 de chaque fichier (petite flêche grise dans un en-tête de colonne)

"charger"

par la suite, il suffit d'actualiser cette requête

amitiés

Bonjour JMB

Tu as des action chez eux

a chaqune de mes demandes tu m'as renvoyer dessus.

Mais merci tout de même

Bonjour JMB

Tu as des action chez eux

re

chez qui ?

c'est Microsoft. Et c'est dans Excel. Tout comme le signe + est dans Excel, tout comme VBA est dans Excel.

amitiés

Bonjour, salut jmd,

A tester :

Sub MaMacro()

Dim MaPlage As Range, DL1 As Long, DL2 As Long, WBS As Workbook, WBC As Workbook
Workbooks.Open Filename:="T:\DSQVT\Suivi des Situations\Suivi des Situations 94.xlsm" ' OUVRIR LE FICHIER
Set WBS = ThisWorkbook : Set WBC = ActiveWorkbook
With WBC.Worksheets("Synthese")
    DL1 = .Range("A" & .Rows.Count).End(xlUp).Row
    If DL1 < 3 Then GoTo Fin
    WBS.Sheets("Synthese").Unprotect ("qvt2018*")
    DL2 = WBS.Sheets("Synthese").Range("A" & Rows.Count).End(xlUp).Row
    Set MaPlage = .Range("A3:AT" & DL1)
    MaPlage.Copy : WBS.Sheets("Synthese").Range("A" & DL2 + 1).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End With
Fin:
WBC.Close False

End Sub

Bonjour JMB et Pedro22

Deja merci pedro c'est parfait

Toutefois au vu que j'ai 35 classeurs en tout comment les fermés au fur et a mesure une fois la copie faite.

JMB

je plaisantait rassure toi.

Merci

Toutefois au vu que j'ai 35 classeurs en tout comment les fermés au fur et a mesure une fois la copie faite.

C'est déjà ce que faisait ta macro, j'ai donc laissé cette partie :

WBC.Close False

Remarque : cette instruction s’exécute dans tous les cas. C'est juste que quand DL1 < 3, on saute directement à cette étape grâce à "GoTo Fin".

PS :

Re Pedro22

Merci de ton aide

tout est parfait

Rechercher des sujets similaires à "verifier feuille contient donnees partir"