IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Extraire des Données d'une BD à partir de plusieurs critères


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut Extraire des Données d'une BD à partir de plusieurs critères
    Bonsoir le forum,
    Encore une fois je me tourne vers vous pour vous demander de l’aide. Et ce n’est pas faute d’avoir essayé, mais en vain.
    Si vous décider d’adhérer encore une fois à mon projet, le cahier des charges consiste à extraire, entre deux dates (date d’exigibilité), des données d’un fichier volumineux (A1:AI170000) en fonction de sept critères (au moins un de ces six critères doit être vrai).
    Code poste Numero Role Secteur Article Domaine Nature Code Nature Libelle nature Etat Creance Nom_Prenom_Tiers Identifiant Interne CIN Raison Sociale Identifiant Fiscal Registre de Commerce Adresse Adresse Actuelle Lieu Imposition Ordonnateur Annee Emission Mise En Recouvrement Date Exigibilite Annee Imposition RAR Droit Simple RAR Majoration RAR Penalite RAR Amende RAR Principal RAR Maj TGR RAR Frais de Poursuite Dernier Acte Poursuite TYPE DERNIER ACTE POURSUITE DATE ACTE Poursuite ENVOYEE PAR CE NEMERO CE ENVOYE A

    Ci-dessous les critères de recherche :
    Secteur Article Nom_Prenom_Tiers Identifiant Interne CIN Adresse Lieu Imposition

    Merci d’avance pour votre aide et au plaisir de vous lire.

  2. #2
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, si vous voulez être aidé, il faudrais peut-être commencer à poser des questions simples et précises et apporter des éléments compréhensibles.
    Code poste Numero Role Secteur Article Domaine Nature Code Nature Libelle nature Etat Creance Nom_Prenom_Tiers Identifiant Interne CIN Raison Sociale Identifiant Fiscal Registre de Commerce Adresse Adresse Actuelle Lieu Imposition Ordonnateur Annee Emission Mise En Recouvrement Date Exigibilite Annee Imposition RAR Droit Simple RAR Majoration RAR Penalite RAR Amende RAR Principal RAR Maj TGR RAR Frais de Poursuite Dernier Acte Poursuite TYPE DERNIER ACTE POURSUITE DATE ACTE Poursuite ENVOYEE PAR CE NEMERO CE ENVOYE A
    Par exemple, il faudrait des ";" pour pouvoir séparer les colonnes. Même chose pour les critères.

    Cordialement

  3. #3
    Membre actif
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut
    Citation Envoyé par Transitoire Voir le message
    Bonjour, si vous voulez être aidé, il faudrais peut-être commencer à poser des questions simples et précises et apporter des éléments compréhensibles.

    Par exemple, il faudrait des ";" pour pouvoir séparer les colonnes. Même chose pour les critères.

    Cordialement

    Bonjour tout le monde,
    Tout d’abord je tiens à vous remercie pour m’avoir fait la remarque.

    Concernant ma demande, j’ai besoin d’extraire les lignes d’un fichier Excel 2007 (A1:AI170000) qui contient au moins l’un des critères ci-dessous :
    « Secteur » « Article » « Nom_Prenom_Tiers » « Identifiant Interne » « CIN » « Adresse » « Lieu Imposition »

    L’entête de mon fichier est :
    « Code poste » « Numero Role » « Secteur » Article » « Domaine Nature » « Code Nature » « Libelle nature » « Etat Creance » « Nom_Prenom_Tiers » « Identifiant Interne » « CIN » « Raison Sociale » « Identifiant Fiscal » « Registre de Commerce » « Adresse » « Adresse Actuelle » « Lieu Imposition » « Ordonnateur » « Annee Emission » « Mise En Recouvrement » « Date Exigibilite » « Annee Imposition » « RAR Droit Simple » « RAR Majoration » « RAR Penalite » « RAR Amende » « RAR Principal » « RAR Maj TGR » « RAR Frais de Poursuite » « Dernier Acte Poursuite » « TYPE DERNIER ACTE POURSUITE » « DATE ACTE » « Poursuite ENVOYEE PAR CE » « NEMERO CE » « ENVOYE A »

    La recherche et l’extraction des données se fait entre deux dates « date d’exigibilité » la plus ancienne et la plus récente.
    J’aurai aimé vous envoyer un exemplaire Excel mais on m’a déjà conseillé de s’abstenir d’envoyer des fichiers par crainte de virus.

    Merci d’avance et à bientôt.

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Les filtres élaborés, sujet du tutoriel de l'ami Philippe, pourrait t'apporter une contribution.

  5. #5
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonjour,

    Personnellement pour un tel nbr de ligne, je passerais par access et des requêtes sql, quitte à les importer vers Excel pour traitement.

    Si obligatoire de rester sur excel, les filtres élaborés reste bien entendu la solution la plus simple à mettre en œuvre.

    Bat

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonsoir,

    Voici un exemple avec un intervalle de dates qui doit ressembler.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Extrait2()
        [tableausource[#all]].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            Sheets("critères").Range("E1:E2"), CopyToRange:=Range("Résultats!Extract") _
            , Unique:=False
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  7. #7
    Membre actif
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    Bonjour,

    Personnellement pour un tel nbr de ligne, je passerais par access et des requêtes sql, quitte à les importer vers Excel pour traitement.

    Si obligatoire de rester sur excel, les filtres élaborés reste bien entendu la solution la plus simple à mettre en œuvre.

    Bat

    Bonsoir,
    Merci de bien vouloir m'indiquer comment procéder sachant que le fichier de base est importé d'une application sous format excel 2007.
    Cordialement.

  8. #8
    Membre actif
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Par défaut
    Bonjour tout le monde,
    SVP merci de m'aide à trouver une solution à ce message d'erreur:
    Erreur de compilation, Instruction incorrect à l'extérieur d'une procédure
    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    ligne_listes = 9
    While (Sheets("listes_cascade").Cells(ligne - listes, 2).Value <> "")
    Sheets("liste_cascade").Cells(ligne_liste, 2).Value = ""
    Sheets("liste_cascade").Cells(ligne_liste, 3).Value = ""
    Sheets("liste_cascade").Cells(ligne_liste, 4).Value = ""
    Sheets("liste_cascade").Cells(ligne_liste, 5).Value = ""
    Sheets("liste_cascade").Cells(ligne_liste, 6).Value = ""
     
    ligne_listes = ligne - listes + 1
    Wend
     
    ligne_bd = 2: ligne_listes = 9
    Sheets("listes_cascade").Select
     
    While (Sheets("bd_sortie").Cells(ligne_bd, 1).Value <> "")
    If (Range("h5").Value <> "" And Range("i5").Value = "" And Range("j5").Value = "") Then
    If (Sheets("bd_sorties").Cells(ligne_bd, 4).Value = Range("h5").Value) Then
    extraction ligne_listes, ligne_bd
    ligne_listes = ligne_listes + 1
    End If
    ElseIf (Range("h5").Value <> "" And Range("i5").Value <> "" And Range("j5").Value = "") Then
    If (Sheets("bd_sorties").Cells(ligne_bd, 4).Value = Range("h5").Value And Sheets("bd_sorties").Cells(ligne_bd, 3).Value = Range("i5").Value) Then
     
    extraction ligne_listes, ligne_bd
    ligne_listes = ligne_listes + 1
    End If
     
    ElseIf (Range("h5").Value <> "" And Range("i5").Value = "" And Range("j5").Value <> "") Then
    If (Sheets("bd_sorties").Cells(ligne_bd, 4).Value = Range("h5").Value And Sheets("bd_sorties").Cells(ligne_bd, 5).Value = Range("j5").Value) Then
     
    extraction ligne_listes, ligne_bd
    ligne_listes = ligne_listes + 1
    End If
     
    ElseIf (Range("h5").Value <> "" And Range("i5").Value <> "" And Range("j5").Value <> "") Then
    If (Sheets("bd_sorties").Cells(ligne_bd, 4).Value = Range("h5").Value And Sheets("bd_sorties").Cells(ligne_bd, 5).Value = Range("j5").Value) Then
     
    extraction ligne_listes, ligne_bd
    ligne_listes = ligne_listes + 1
    End If
     
    End If
    ligne_bd = ligne_bd + 1
    Wend
     
     
    'purger macro
    ActiveSheet.Range("$B$5:$B$100000").RemoveDuplicates Columns:=1, Header:=xlNo
    ActiveWindow.SmallScroll down:=-3
    ActiveWorkbook.Worksheets("construction").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("construction").Sort.SortFields.Add Key:=Range("b5"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("construction").Sort
    .SetRange Range("b5:b100000")
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With

Discussions similaires

  1. Extraire des données d'une même cellule, dans plusieurs fichiers
    Par chicanne dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 31/07/2016, 12h06
  2. Extraire des données d'une table Oracle à partir de Tomcat
    Par elekis dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 21/03/2012, 20h22
  3. [Système] Extraire des données d'une page web
    Par nazoreen dans le forum Langage
    Réponses: 17
    Dernier message: 22/03/2006, 21h38
  4. Réponses: 1
    Dernier message: 28/09/2005, 15h35
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo