Selection plage avec condition multiple

Résolu
bibi -  
 bibi -
Bonjour,

Je suis en train d'automatiser un fichier excel mais j'ai un souci de connaissance pour y parvenir, por tout dire je suis novice dans la programmation VBA mais j'essaie de m'améliorer ... :o)
Je dispose d'une feuille 1 avec 10 colonnes
J'aimerais avoir un formulaire utilisateur permettant de sélectionner les données dans feuille1 avec des critères multiples(colonne 1 à 10), une fois la sélection réalisée j'aimerais que les informations soit exporté dans une nouvelle feuille.

Merci pour votre aide

;o)
Configuration: Windows XP
Internet Explorer 6.0

7 réponses

  1. evevdll Messages postés 81 Date d'inscription   Statut Membre 51
     
    Bonsoir,
    Dorotheejeanne,
    Je ne vois pas l'intérêt de copier coller l'ensemble car il semblerait que le but de la demande soit de récupérer certaines données et non pas la totalité de la feuille.

    Bibi,
    Si je comprends bien ta demande il te faut filtrer tes données :
    Sans avoir besoin de connaitre les macros, tu peux effectuer un filtre : Menu données, filtrer, filtre automatique. Tu verras une petite flèche s'afficher sur la 1ère cellule de chaque colonne. En cliquant sur la flèche de la colonne "mois" tu choisis 11, colonne "Type" : M et colonne "montant" Personnalisé : >5. Tu obtiendras les seules données qui t'intéressent et tu pourras les copier/coller dans une autre feuille. Il te suffira de désactiver le filtre entièrement en passant par le menu "données" ou désactiver chaque colonne en cliquant par la flèche sur "Tout".
    C'est plus facile que de passer par le VBA si tu n'as pas de connaissance dans ce domaine.
    Sinon, il y aura surement quelqu'un pour répondre au mieux à ta demande.
    Bon courage
    Eve
    1
  2. dorotheejeanne Messages postés 130 Date d'inscription   Statut Membre 24
     
    --Que voulez vous faire exactement répondez je pourrai peut être vous aider

    dorotheejeanne
    0
  3. bibi
     
    alors voila j'ai une feuille 1 avec des colonnes :

    Colonne 1 = Nom
    Colonne 2 = Departement
    Colonne 3 = Materiel
    Colonne 4 = Entreprise
    Colonne 5 = TypE
    Colonne 6 = Date Facture
    Colonne 7 = Mois
    Colonne 8 = BudgetImputation
    Colonne 9 = Montant
    Colonne 10 = DateTravaux

    J'aimerais avoir une macro exportant des données dans une nouvelle feuiille.
    Les données répondent à des critères choisis par le biais d'un formulaire
    par exemple :
    export des données dont
    Mois = 11
    Type = "M"
    Montant > 5

    Merci beaucoup pour votre aide et vos explications
    0
  4. dorotheejeanne Messages postés 130 Date d'inscription   Statut Membre 24
     
    Voici comment je ferai. Vous ouvrez une nouvelle page sur Excel, ensuite vous ouvrez la page sur laquelle se trouve toutes vos colonnes, vous sélectionnez tout. Vous faites édition, copier, ensuite vous fermez la page en répondant NON au modification, lorsque vous êtes sur la page vierge, vous faites édition coller... Voilà moi je faisais comme cela pour les notes trimestrielles avec des coefficients. Bonsoir Courage
    dorotheejeanne
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Juste pour confirmer ce que dit eve, pas la peine de vba.
    Un filtre automatique et si nécessaire un copier/coller dans une autre feuille.
    eric
    0
  7. bibi
     
    Bonjour,

    un grand merci pour vos réponses cependant, je sais utilisé les fonctions de base d'excel, c'est à dire mettre des filtres auto puis sélectionner ma plage pour copier coller dans une nouvelle feuille.

    Cependant, j'aimerais que cette tache récurrente soit automatiser par une macro.

    L'utilisation de filtre etc ne répond pas à mes critères... merci pour votre aide
    0
  8. bibi
     
    Bon il m'a fallu du temps mais j'ai réussi avec de la bidouille heuuu je suis débutant j'ai au du mal ...
    il me reste à supprimer les lignes vides dans la feuille EXPORT puis à triater l'info exporter par choix de l'utilisateur moi entre autre
    Sub xxxxx()

    Call zz

    Dim c As Range

    Call blanc

    For Each c In Range("Mois")
    c.Select
    Select Case c
    Case Is = 11
    Call Bleu
    Case Is = 12
    Call vert
    End Select
    Next

    'Création d'une nouvelle feuille que l'on nomme EXPORT
    Sheets.Add
    ActiveSheet.Name = "EXPORT"

    Sheets("sstraitance").Select
    Call Copie
    Sheets("feuil1").Select
    Rows(2).Select
    Selection.Copy
    Sheets("EXPORT").Select
    Cells(1, 1).Select
    ActiveCell.PasteSpecial
    Sheets("feuil1").Select
    Cells(1, 1).Activate

    End Sub

    Sub blanc()
    Range("Mois").Interior.ColorIndex = xlNone
    Range("Mois").Font.Bold = False
    End Sub

    Sub vert()
    With Selection.Interior
    .ColorIndex = 42
    .Pattern = xlSolid
    End With
    End Sub
    Sub Bleu()
    With Selection.Interior
    .ColorIndex = 33
    .Pattern = xlSolid
    End With
    End Sub
    Sub zz()

    Range("DONNEE").Select
    Selection.Sort Key1:=Range("E3"), Order1:=xlDescending, Key2:=Range("g3") _
    , Order2:=xlDescending, Key3:=Range("d3") _
    , Order3:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom
    End Sub
    Sub Copie()

    Dim d As Range
    Dim Ligne As Long

    'Selection des données de façon optimiser car repere derniere cellule active

    ActiveCell.SpecialCells(xlLastCell).Select
    Range(Selection, Cells(1)).Select

    For Each d In Selection.Rows
    Ligne = d.Row

    If d.Cells(1, 7).Value = 11 Then
    d.Copy
    Sheets("EXPORT").Select
    Cells(Ligne, 1).Select
    Selection.PasteSpecial
    End If
    Next d

    End Sub
    0