Sélection de cellules avec certains critères

Bonjour tout le monde, étant débutant de VBa je suis bloqué et demande de l'assistance auprès d'utilisateurs plus aguerris. J'aimerais trouver un code qui me permet dans un tableau "DB" de sélectionner les lignes de la Colonne "F" n'ayant pas de cellule vide, de les sélectionner et regrouper sur une autre feuille "FinalDB". Merci d'avance

Bonsoir diwanegraf, le forum,

Un petit fichier peut-être pour voir comment sont structurées tes données ?

Sinon, un simple filtre sur la colonne F (en décochant Vides) n'est-il pas suffisant ?

Cordialement,

Voici un exemple de tableau. ce que je veux c'est une macro qui a chaque fois sélectionne l'ensemble sans cellule vide et l'envoyer sur une nouvelle feuille. Voila

10exemple1.xlsx (21.97 Ko)

Re,

Voici un essai...

Principe:

  • on filtre la colonne E
  • on copie les lignes visibles sur la feuille FinalDB

La macro est exécutée à l'activation de la feuille FinalDB (déjà créée)...

Private Sub Worksheet_Activate()
  Application.ScreenUpdating = False

   With Sheets("FinalDB")
     .Cells.ClearContents
     .Cells.Borders.LineStyle = xlNone
   End With

   With Sheets("BD")
    .Range("A1").CurrentRegion.AutoFilter field:=5, Criteria1:="<>"
    .Range("A1").CurrentRegion.SpecialCells(xlVisible).Copy Sheets("FinalDB").Range("A1")
     If .FilterMode = True Then .ShowAllData
   End With

   With Sheets("FinalDB")
    .Columns.HorizontalAlignment = xlCenter: .Columns.AutoFit
    .Range("A1").CurrentRegion.Borders.Weight = xlThin
   End With
End Sub
13diwanegraf.xlsm (37.22 Ko)

Cordialement,

J'ai testé la macro, elle copie intégralement la table alors que je veux pas des lignes ''avec des cellules vides''. Donc tout ce qui se trouve en bas de la dernière cellule de la colonne

8diwanegraf.xlsm (33.43 Ko)

F ne doit pas figurer dans le tableau à copier dans la feuille final. En PJ le tableau comme je le voudrais au final. J'espère être suffisamment clair merci d'avance.

Résolu avec ton code j'ai modifié la colonne E par F et c'est top. Merci encore

Bonjour et merci pour le retour,

Résolu avec ton code j'ai modifié la colonne E par F et c'est top. Merci encore

Oups ! effectivement, j'ai lu trop vite et me suis trompé de colonne,

Private Sub Worksheet_Activate()
  Application.ScreenUpdating = False 'désactive le rafraichissement de l'écran

   With Sheets("FinalDB") 'agit sur cette feuille uniquement
    .Cells.Delete '........efface les données existantes
   End With

   With Sheets("BD") 'agit sur cette feuille uniquement
    .Range("A1").CurrentRegion.AutoFilter field:=6, Criteria1:="<>" 'filtre les données sur la colonne F (critère non vide)
    .Range("A1").CurrentRegion.SpecialCells(xlVisible).Copy Sheets("FinalDB").Range("A1") 'copie les lignes visibles sur  finalDB en A1
     If .FilterMode = True Then .ShowAllData 'retire le filtre
   End With

   With Sheets("FinalDB") 'agit sur cette feuille uniquement
    .Columns.HorizontalAlignment = xlCenter: .Columns.AutoFit 'ajuste la largeur des colonnes
   End With
End Sub
12diwanegraf.xlsm (30.63 Ko)

Cordialement,

Rechercher des sujets similaires à "selection certains criteres"