Selection plage avec condition multiple

Résolu/Fermé
bibi - 13 janv. 2008 à 13:35
 bibi - 16 janv. 2008 à 01:05
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

evevdll Messages postés 81 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 13 décembre 2009 51
13 janv. 2008 à 19:27
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
dorotheejeanne Messages postés 123 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 24
13 janv. 2008 à 17:40
--Que voulez vous faire exactement répondez je pourrai peut être vous aider

dorotheejeanne
0
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
dorotheejeanne Messages postés 123 Date d'inscription jeudi 18 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 24
13 janv. 2008 à 18:55
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 256
13 janv. 2008 à 21:22
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
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
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