Excel - Effacer le contenu de feuilles

romain -  
 microsig -
Bonjour,

Voila j'ai plusieurs fichier contenant plusieurs feuille dont je voudrait supprimé le contenu grace au click sur un bouton, donc voici mon code qui marche presque :

Private Sub CommandButton1_Click()
Chemin = ThisWorkbook.Path & "\"
Workbooks.Open Filename:=Chemin & "PC.xls"
Workbooks.Open Filename:=Chemin & "Imprimantes.xls"
Workbooks.Open Filename:=Chemin & "Hub et Switch.xls"
Windows("01-Gestion du parc.xls").Activate
Sheets(Array("Données", "36", "FeuilleDeVariable")).Select
ActiveSheet.Cells.Clear
Sheets("Presentation").Activate
Range("A49").Select
ActiveWindow.ScrollRow = 1
ActiveWorkbook.Save
Windows("PC.xls").Activate
Sheets(Array("PC.6510B", "PC.D530", "PC.DC5750", "PC.P733", "PC.E5600", "PC.D500", _
"PC.N620C", "PC.E620")).Select
ActiveSheet.Cells.Clear
ActiveWorkbook.Save
ActiveWindow.Close
Windows("Imprimantes.xls").Activate
Sheets(Array("Imp.2390", "Imp.2391", "Imp.C524", "Imp.C534", "Imp.DESKJET", _
"Imp.E323", "Imp.HL", "Imp.IR", "Imp.LASERJET", "Imp.OPTRA", "Imp.STYLUS")).Select
ActiveSheet.Cells.Clear
ActiveWorkbook.Save
ActiveWindow.Close
Windows("Hub et Switch.xls").Activate
Sheets(Array("H&S.3COM", "H&S.CISCO")).Select
ActiveSheets.Cells.Clear
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

Le problème vient du faite que " ActiveSheet.Cells.Clear" ne supprime le contenu des cellules seulement que de la feuille visible et non pas de toutes les feuilles selectionné ...

voila jespère avoir été assez clair et que vous réussirez a m'aidé ...

cordialement romain
Configuration: Windows 2000
Internet Explorer 6.0

6 réponses

  1. Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   310
     
    Salut,
    si ce n'est pas trop tard
    Sheets(Array("PC.6510B", "PC.D530", "PC.DC5750", "PC.P733", "PC.E5600", "PC.D500", _ 
    "PC.N620C", "PC.E620")).Select 
    Cells.Select
    Selection.ClearContents
    8
  2. romain
     
    merci beaucoup cela marche niquel!!!
    4
    1. gandrews
       
      Bonjour

      Le plus simple est de faire une boucle

      For i = 1 To Sheets.Count
      Sheets(i).Cells.Clear
      Next i
      0
  3. el matador
     
    essai ca :

    Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
    2
    1. romain
       
      j'ai testé ca fait la meme chose que j'avais au depart
      enfaite ta solution marche mais comme j'ai dis plus haut
      il faudrait que je face cela pour chaque onglet de chaque fichier
      mais j'avoue avoir un peu la flem ^^
      enfin bon je ferai sa demain je crois que c'est la seule solution

      merci pour l'aide

      cordialement
      romain
      0
  4. galza
     
    Et peut-on faire la mêm chose pour effacer cette fois ci le contenu des combobox de la feuille, au lieu des cellules?
    merci d'avance
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. microsig
     
    Bonjour
    Je suis un débutant en VBA
    Voila j’ai un classeur Nome FACTURE Excel(V.2003)
    Je suis sur une Feuil C
    Je voudrais effacer les contenues de touts les cellules
    Non Protéger d’un tableau dans la Feuil A
    J’ai utiliser une boucle
    Fro i=1 to Sheets.Count
    Sheets(i).cells.Clear
    Next i
    Mais elle ne fonctionne pas
    La boucle efface tout la feuil A
    1
  7. el matador
     
    bonjour,

    c'est normal car "activeSheet" veut dire dans la feuille active (visible).

    il faut que tu precise quel cellule effacer et dans quel feuille, comme par exemple :
    sheets("feuil1").select
    Range("A1").select
    activesheet.cells.clear
    0
    1. romain
       
      oui mais cela ralonge considerablement ma macro car il faut que je fasse onglet par onglet et fichier par fichier ...

      il n'y a pas un mot similaire a activesheet qui correspond aux feuilles selectionnées?

      en tout cas merci pour l'aide

      cordialement
      0