Selection plage avec condition multiple

[Résolu/Fermé]
Signaler
-
 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)

7 réponses

Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
123
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
22 juin 2009
23
--Que voulez vous faire exactement répondez je pourrai peut être vous aider

dorotheejeanne
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
Messages postés
123
Date d'inscription
jeudi 18 octobre 2007
Statut
Membre
Dernière intervention
22 juin 2009
23
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
Messages postés
24178
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 septembre 2021
6 885
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
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
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