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 :

Croiser RechercheV et RechercheH VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Gestionnaire administrative
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire administrative
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut Croiser RechercheV et RechercheH VBA
    Bonjour,

    Voilà, j'ai 2 fichiers Excel. Un qui contient un tableau croisé dynamique et l'autre un tableau fait par un programme VBA.

    Il faut que je prenne des infos du TCD à mettre dans l'autre tableau... Seulement pour cela j'ai un critère ligne et un critère colonne.

    Par ex. :

    TCD
    T.ACTEUR APPEL1 APPEL2 APPEL3 FILTRE INJOIGNABLE

    T.ACTEUR1 20 2 4 23
    T.ACTEUR2 8 2 1 40
    etc.
    T.ACTEUR20 45 32 52 5 110
    _________________________________________________________________

    TABLEAU
    T.ACTEUR APPEL1 [...] REPONDEUR

    T. ACTEUR1
    etc.


    Sachant que la colonne INJOIGNABLE correspond à la colonne REPONDEUR, pour vous expliquer que les colonne du TCD n'ont pas toujours le même nom que celles du tableau.

    Je suis débutante mais j'ai quand même essayé avec des boucles if, for et while, rien à faire...

    J'espère que vous allez pouvoir m'aider.
    Merci beaucoup.

    Auriane

  2. #2
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonsoir,
    Les objectifs ne sont pas assez détaillées.
    Quels critères de comparaisons, quelles réponses aux tests...
    en postant le code plus des explications précises tu pourras avoir de l'aide.

  3. #3
    Membre confirmé
    Femme Profil pro
    Gestionnaire administrative
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire administrative
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut Plus de détails
    Bonjour!

    Objectif : Copier les données du TCD (fichier RESULTATS MARS) dans le tableau du fichier 2 (fichier créé par un programme en amont, RESULTATS JOURNALIERS MARS 2013 S11).

    Ce programme sera lancé tous les jours car les données du TCD changent (car 1 campagne marketing = 1 TCD).

    Les colonnes du fichier 1 ne sont pas toujours les mêmes (car si aucun télévendeur n'a entré de données dans la variable "APPEL1" par exemple, elle n'apparaîtra pas dans le TCD). Le nombre de colonnes et de lignes du TCD ne sont pas connus. Le nombre de colonnes et de lignes du 2ème tableau ne bouge pas ainsi que ces variables.

    Il faut donc que je donne 2 conditions :
    - Si il y a APPEL1 dans le TCD alors on regarde s'il y a le télévendeur1 et on copie/colle la donnée sinon on passe à APPEL 2 etc. (ou au télévendeur2).

    J'ai fait ce programme qui fonctionne pour l'APPEL1 mais qui ensuite ne passe pas à l'APPEL2.

    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
    Dim mois As String, annee As String, semaine As String, fic_journalier As String, rep As String
     
    fic_journalier = "RESULTATS JOURNALIERS"
    mois = InputBox("Sur quel mois ? (en toutes lettres)")
    annee = InputBox("Sur quelle année")
    semaine = InputBox("Sur quelle semaine (numéro de la semaine)")
     
    Windows("REQUETE MARS.xls").Activate
    Range("B5").Select
    i = 1
    j = 0
    k = 0
    l = 0
     
    While Range("B5").Offset(0, l).Value <> " "
    If Range("B5").Offset(0, l).Value = "APPEL1" Then
    For i = 1 To 20
        If Range("A6").Offset(j, 0).Value = "T.ACTEUR" & i Then
            Range("B6").Offset(j, 0).Copy
            Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
            Range("C5").Offset(k, 0).PasteSpecial
            j = j + 1
            k = k + 1
        Else
            Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
            Range("C5").Offset(k, 0).Value = " "
            Windows("REQUETE MARS.xls").Activate
            k = k + 1
        End If
    l = l + 1
    Next
    Else
    If Range("B5").Offset(0, l).Value = "APPEL2" Then
    For i = 1 To 20
    If Range("A6").Offset(j, 0).Value = "T.ACTEUR" & i Then
            Range("B6").Offset(j, 0).Copy
            Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
            Range("C5").Offset(k, 0).PasteSpecial
            j = j + 1
            k = k + 1
        Else
            Windows(fic_journalier & " " & mois & " " & annee & " " & "S" & semaine & ".xls").Activate
            Range("C5").Offset(k, 0).Value = " "
            Windows("REQUETE MARS.xls").Activate
            k = k + 1
        End If
    l = l + 1
    Next
    End If
    End If
    Wend
    End Sub
    Merci pour l'aide que vous m'apporterez.

Discussions similaires

  1. [XL-2003] RechercheV ou RechercheH
    Par 25lou38 dans le forum Excel
    Réponses: 2
    Dernier message: 03/02/2012, 12h56
  2. [XL-2003] Formule RECHERCHEV() transposé en VBA
    Par Tarasboulba64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 21h27
  3. recherchev en langage VBA
    Par choudoudou15 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/05/2009, 07h35
  4. Réponses: 7
    Dernier message: 04/06/2008, 18h50
  5. VLookup (ou RechercheV mais en VBA)
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/06/2008, 06h40

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