Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2011, 18h56   #1
Invité de passage
 
Femme
Étudiant
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Recherche valeurs sur classeur excel et copie sur un autre classeur

Bonjour,

Cela Fait une semaine que je chercher et essaye de combiner plusieurs macro pour obtenir ce que je veux, et étant débutant en écriture de macro (je sais écrire un copier coller sur une autre feuille et également trier),et c'est tout.
ce que je cherche a faire c'est de chercher sur une tableau pouvant aller jusqu'a 3000 lignes un code dans une colonne et de copier la ligne qui contient de code dans la feuil2. bien entendu il peut y avoir plusieurs fois la présence de ce code et je souhaite que ces lignes soit copier dans la feuil2.

Sur cette feuil2 est présent une case dans laquelle est saisie le code a rechercher et lorsque qu'un code est rentré le but est de chercher dans la base de données et de copier les lignes ayant ce code dans la feuil2.

Merci de me donner des pistes à mon problème car je galère bien.
lila09 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/10/2011, 20h06   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code à mettre dans le module de Feuil2 (en B1 en inscrit le code) et à partir de A3 on reporte les résultats.
J'ai utilisé un filtre automatique. Code commenté
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastLig As Long
 
'Target désigne la plage de cellules qui vient d'être changée
Application.ScreenUpdating = False
'Si la cellule changée est B1 ( de la feuille active)
If Target.Address = "$B$1" Then
    'On efface les données jouxtant A3
    Range("A3").CurrentRegion.Clear
    'Si la cellule B1 est non vide
    If Target.Value <> "" Then
        With Worksheets("Feuil1")
            'On enlève l'éventuel filtre automatique de Feuil1
            .AutoFilterMode = False
            'LastLig désigne le N° de ligne de la dernière cellule remplie de la colonne A de Feuil1
            LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
            'On filtre la colonne A de Feuil1 sur le code entrée en B1 de Feuil2
            .Range("A1:A" & LastLig).AutoFilter field:=1, Criteria1:=Target.Value
            'On copie le résultat du filtre vers A3 de Feuil2 (colonnes A à X)
            .Range("A1:X" & LastLig).SpecialCells(xlCellTypeVisible).Copy Range("A3")
            'On enlève le filtre automatique
            .AutoFilterMode = False
        End With
    End If
End If
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h06.


 
 
 
 
Partenaires

Hébergement Web