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

Access Discussion :

[Excel/VBA] Boucle et test cellule


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut [Excel/VBA] Boucle et test cellule
    Bonjour,

    J'ai deux petites questions :

    1°)Existe t'il une fonction qui permette d'activé la feuille x avant celle ou on est sans passer par le nom de la feuille ?

    2°)Je souhaite faire que dans ma requete SQL nous puissons comparer le champ 'codearticle" à une selection de 10 nombres récuperer des les 3 feuilles avant celle ou l'on se trouve. Comment m'y prendre ?

    Merci d'avance

    Jim

  2. #2
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut

    C'est simple...
    mais la solution va être compliquée

    1) non il n'y a pas de fonction.
    il va falloir l'écrire

    2) Il faut récupérer les valeurs des cellules des différentes feuilles Excel par automation.
    avec une fonction du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function RecupVal(NomFeuille As String, Cellule As String) As type_à_récupérer
    ' Ouverture du classeur
    ....
    ' Sélection cellule
    RecupVal = AppExcel.Sheets(NomFeuille).Range(Cellule)
    End Function
    Tu appelles ta fonction à partir de la requête. regarde cette source pour comprendre la manière de faire cet appel.

    Pour l'automation Excel, regarde les différents tutoriels.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut
    C'est impossible que tu sois français ou alors... ?
    si si je suis bien français, j'vous jure...

    il va falloir l'écrire
    1) je pensais bien mais tu pourrais m'indiquer quelques fonctions utiliser ?

    2) Dans ce tu m'as ecris tu rentre une valeur dans Recupval ? et si j'en rentre plusieur il faut que je mette "chaine" mais comment va réagir ma requete avec ?

    Merci

    *******************

    En fait je suis en train de poser la question est ce que je créerai pas un table en inserant les 12 mois de l'années (c'est le nom de mes feuilles) et en suite je prends le nom de ma feuille actuelle je remonte de trois grand je prends les 10 veleur, puis de 2 cran...
    Je suis pas programmeur y a t'il une solutrion plus simple ?
    Je veux affiché 5 nombres qui ne sont pas dans les trois feuille d'avant au cellule A1:A6 c'est tout

    Merci encore

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut
    j'ai bien avancé mais je bloque sur la fonction,
    Pour récapituler vite fais j'ai automatisé les onglets pour les 12 mois, j'arrive bien a gerer le pointage vers les différents onglets.
    Par contre donc j'ai encore du mal avec le stockage des valeurs pour la requete
    je fais dans le programme de base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Récuperation  temporaire de tout les valeur des trois mois avant
            For Ctr = Sheets.Count - 5 To Sheets.Count - 3
                temp = MonTab(Ctr)
                MsgBox " Valeur de temp : " & temp & " ..."
                RecupVal (temp)
                Next
    puis la fonction valeur ressemble à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function RecupVal(NomFeuille As String) As String
        RecupVal = AppExcel.Sheets(NomFeuille).Range("A2:A11")
    End Function
    mais j'ai une erreur dans la fonction, personne à une idée ?

    Merci d'avance

  5. #5
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Avec le message d'erreur ce serait mieux.
    Mais je devine ce qui cloche. (désolé pour le temps de réponse mais je voulais que tu te débrouilles un peu avant de te redonner un coup de pouce !!)

    C'est AppExcel qui plante.
    Citation Envoyé par Kikof
    Pour l'automation Excel, regarde les différents tutoriels.
    Il faut instancier Excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim AppExcel As Excel.Application

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Par défaut
    désolé pour le temps de réponse mais je voulais que tu te débrouilles un peu
    Je n'ai rien dis c'est tout à fait normal, merci de m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function RecupVal(NomFeuille As String) As String
        Dim AppExcel As Excel.Application
        Set AppExcel = New Excel.Application
        RecupVal = AppExcel.Sheets(NomFeuille).Range("A2:A11")
    End Function
    Ca me fait toujours une erreur sur RecupVal en disant ="" (vide quoi)

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2014, 16h20
  2. [Excel VBA]fonction dans une cellule qui modifie une autre cellule
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/01/2007, 17h43
  3. [VBA][Débutante] Fonction Excel avec Boucle
    Par Inelukia dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 11/01/2006, 19h31
  4. [VBA] [EXCEL 97] Formatage automatique des cellules
    Par plante20100 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/09/2005, 09h49
  5. [VBA] Les propriétés de cellule dans Excel
    Par Kylen dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 05/07/2004, 23h02

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