XL 2010 Selectionner certaines cellules dans un tableau

jeje77

XLDnaute Junior
Bonjour à tous;
je reviens vers vous car je n'arrive pas à trouver dans les différents posts comment sélectionner les cellules ayant les valeurs V1 et V2 dans mon tableau au moyen d'un code VBA afin de pouvoir les effacer toutes en même temps. Ce sont des données que j'ai importé d'un autre classeur par le biais d'une macro, mais avec cette macro je copie toutes les cellules même celle dont je n'ai pas besoin et donc après il faut que je les effacent individuellement sur chaque feuilles (qui ont la même architecture).
upload_2018-2-5_16-17-8.png Le tableau se situe de B3:G36.
D'avance merci pour l’intérêt que vous porterez à mon problème.
Jeje77
 

jeje77

XLDnaute Junior
Bonsoir !
Merci pour le code (Copie_Mois) effectivement c'est beaucoup plus rapide pour la recopie des données.
Si je comprend bien, la ligne rajoutée
VB:
Application.ScreenUpdating = False
empeche le rafraichissement de l'écran à chaque importation sur un feuille, cela ne ce fait qu'a la fin de la boucle.

Pour le deuxieme code (Test) pour suprimer les V1 et V2, la ligne
VB:
Dim Ws As Worksheet
est là pour prendre en compte les feuilles concernées.
Pourquoi ne met on pas 'Worksheet' avec un "S" dans la declaration et que par la suite il est ecrit avec un"S" dans la boucle 'For Each'.
Est-il possible dans la déclaration d'inserer une ligne de ce type car ce sont les feuilles sur lesquelles sont recopiés les données parmis beaucoup d'autres du fichier definitif.
VB:
Sheets(Array("janv_4", "Fev_4", "mar_4", "avr_4", "mai_4", "juin_4", "juil_4", "aou_4" , "sept_4", "oct_4", "nov_4", "dec_4"))

 

vgendron

XLDnaute Barbatruc
Hello
on peut effectivement utiliser une liste de mois (j'avais déjà ca en tete hier :) )
par contre.. l'idéal, c'est d'utiliser la syntaxe exacte des mois partout: dans le code, dans les zones nommées, dans le nom des feuilles
Janv au lieu de Jan
Août au lieu de Aout
Déc au lieu de dec
Févr au lieu de Fev.....

regarde tes fichiers en PJ, j'ai déjà modifié tout ca
on pourrait meme ne pas avoir besoin de la liste, suffirait d'utiliser Format(j,"mmm")
pour les indices _1 et _4: sont ils définis selon une logique particulière?
 

Pièces jointes

  • Gardes UT4 2018 .xlsm
    388.2 KB · Affichages: 28
  • Gestion Absences ANTIN.xlsm
    81.6 KB · Affichages: 27

vgendron

XLDnaute Barbatruc
et pour répondre à la question worksheet ou worksheetS

Dim Wb as worksheet => déclare la variable Wb comme étant UNE feuille

for each Wb in worksheetS ==> pour chaque feuille de l'ensemble des feuilleS

Worksheets = la collection de toutes les feuilles du classeur
il y a je crois, meme une subtilité dans l'utilisation de SheetS ou worksheets ==> dans un cas, on ne parcourt QUE les feuilles "excel" avec des tableaus, des valeurs,et formules.. dans l'autre cas.. on parcourt également les feuilles de type "Graphique"
 

jeje77

XLDnaute Junior
Merci pour les réponses.
Pour répondre à ta question :
pour les indices _1 et _4: sont ils définis selon une logique particulière?
Je dirais oui car ils correspondent à chaque unité de travail (UT1, UT2, UT3 et UT4).

Et pour ce bout de code pour aller chercher le fichier,
VB:
Filename = Application.GetOpenFilename
If Filename <> "" Then
    Workbooks.Open Filename
End If
je préfère indiquer l'emplacement direct vu que le fichier sera toujours le même et qu'il ne changera pas d'emplacement avec cette ligne 'Workbooks.Open Filename:=......'
 

jeje77

XLDnaute Junior
Bonjour,
Après une petite adaptation pour mon fichier je peut vous dire que ça fonctionne très bien.
En vous remerciant encore pour le temps que vous avez passer sur mon problème.
Je pense que pour cette partie le sujet est résolu :)

Cordialement

Jérôme
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 231
Membres
103 497
dernier inscrit
JP9231