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 :

Macro pour Rechercher Valeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 69
    Par défaut Macro pour Rechercher Valeur
    Bonjour,

    Je travaille sur une macro qui pour fonctionner , a besoin d'une valeur se trouvant dans une cellule quelconque d'une feuille (cette valeur peut être mise dans n'importe qu'elle cellule mais toujours dans cette feuille) .

    Je voudrais écrire un code qui récupère cette valeur dans la dite feuille , tout ce que j'ai comme donnée, c'est que ma valeur se trouve immédiatement en dessous d'une cellule qui contient le mot (TOTAL) mais cette cellule n'a pas de position fixe dans la feuille ce qui ne me facilite pas la tache.

    Merci de votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Salut à toi,

    Tu pourrais utiliser la fonction FIND qui recherchera la cellule contenant "TOTAL".
    Ensuite, tu utilises un offset d'une ligne pour utiliser la valeur qui est sous "TOTAL".

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim CellTotal As Range
    Set CellTotal = Sheets([le nom ou l'index de ta feuille]).Cells.Find("TOTAL").Offset(1,0)
    Ainsi, ta variable CellTotal correspondra à la cellule située en dessous de TOTAL à la condition que seule une cellule contienne le mot TOTAL (sinon ça prendra la première que ça trouvera...)

    Donc pour l'utiliser par la suite, tu as plus qu'à écrire par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Le total correspond à " & CellTotal.Value & " euros"
    Quentin

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    D'ailleurs, si tu ne souhaites pas passer par une variable objet (CellTotal as Range) alors tu peux directement passer par ton total :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Total As Double
    Total = Sheets([le nom ou l index de ta feuille]).Cells.Find("TOTAL").Offset(1,0).Value
    Ou pour mêler les deux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim CellTotal As Range
    Dim Total As Double
    Set CellTotal = Sheets([le nom ou l'index de ta feuille]).Cells.Find("TOTAL").Offset(1,0)
    Total = CellTotal.Value
    MsgBox "Le total correspond à " & Total & " euros"

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    pour compléter la proposition de Quentin77170, ne pas oublier de tester l'existence du résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim CellTotal As Range
    Set CellTotal = Sheets("MaFeuille").Cells.Find("TOTAL").Offset(1,0)
    If Not CellTotal Is Nothing Then
        MsgBox "Le total correspond à " & CellTotal.Value & " euros"
    Else
        MsgBox "Aucune Cellule ne contient la valeur TOTAL"
    End If

    Regarde bien l'aide au sujet de Find, histoire de spécifier l'intégralité des arguments de cette fonction.
    Fortement conseillé, sinon VBA utilisera automatiquement les arguments utilisés lors de la dernières Recherche Effectuée (via Excel ou VBA)

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Héhé, c'est vrai que j'y suis allé un peu soft... mais je trouve que parfois on surcharge un peu les réponses en donnant la portée de tous les arguments et ça noie le demandeur

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 69
    Par défaut
    Merci Quentin77170 et joel.levrai ,le code a fait ce que j'avais effectivement demandé mais en fait j'avais mal présenté le problème , je ne voulais pas récupérer la valeur de la cellule immédiatement en dessous de total mais plutot , sa plage de cellule (Exemple: si en dessous de Total on a 150 euros , je voudrais pas récuperer les 150 euros mais la référence de cette case genre B21 , C32)

    Veuillez m"excuser
    Merci d'avance de votre aide

  7. #7
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    La propriété .Value te donne la Valeur de la cellule
    La propriété .Address te donne son .... devine

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 69
    Par défaut
    Super Merci Joel.levrai Ca marche
    J'ai une autre question et si je voulais en plus séparément avoir la colonne et la ligne de ma variable(Avec Adresse j'ai par exemple comme résultat B21 et si je veux d'une part avoir B et d'autre 21) , y a-t-il des fonctions pour ca?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro pour recherche valeur dans plage de cellules sur 2 colonnes.
    Par bipol51430 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/05/2014, 10h43
  2. [XL-2003] Macro pour rechercher une valeur en fonction de la valeur d'une cellule
    Par Rook93 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/01/2013, 11h42
  3. [XL-2002] problème macro excel pour rechercher valeur dans un intervalle
    Par lanomade04 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/05/2011, 16h59
  4. [XL-2003] MACRO pour rechercher les 2 valeurs les plus proches
    Par Tchibe dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/06/2010, 15h04
  5. Macro pour entrer valeur
    Par southstory dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/05/2010, 16h29

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