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 renvoyer la valeur d'une cellule à emplacement variable mais au contenu fixe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Par défaut macro renvoyer la valeur d'une cellule à emplacement variable mais au contenu fixe
    Bonjour,

    je fais appel à vos lumières car je suis une burne en macro
    j'ai réussi à trouver une macro qui résout une partie de mon problème mais je trouve pas pour le reste

    Mon problème :

    dans mon classeur sur une nouvelle feuille placée à la fin du classeur je veux lister le nom des onglets présent dans le fichier (ça c'est bon) et en face sur 3 autres colonnes le montant HT, la TVA et le montant TTC correspondant à l'onglet.
    Simple vous allez me dire sauf que ces montants sont toujours en colonne O mais la ligne est variable d'un onglet à l'autre.

    Dans le fichier joint en exemple il y a que quelque feuille mais il peut y'en avoir plus d'une centaine (çà aussi c'est variable d'un mois à l'autre)

    Je pensait chercher la valeur "Total H.T." qui est toujours dans la colonne N ce qui donnera la ligne ainsi on peut lui dire de copier la valeur qui est dans la cellule (O;ligne) et ensuite décaler pour copier le montant TTC

    ant qu'a faire comment je peux faire pour forcer le texte en police garamond 10 noir car a chaque fois il me remet en arial 12 (si j'ai pas de reponse pour cette partie c pas grave)

    D'avance merci pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Un petit exemple d'une recherche sur le texte "M.HT" se trouvant en colonne F de la feuille Feuil1 du classeur où se trouve le code VBA
    La ligne Debug.Print rng.Offset(0, 1) affiche dans la fenêtre d'exécution la valeur de la cellule juste à droite de M.HT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Dim sht As Worksheet
     Dim rng As Range, rngAmount As Range
     Set sht = ThisWorkbook.Worksheets("Feuil1")
     Set rngAmount = sht.Range("F:F")
     Set rng = rngAmount.Find(What:="M.HT", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
     Debug.Print rng.Offset(0, 1) ' Affiche la valeur de la cellule qui se trouve à droite
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Par défaut
    Merci pour ton aide

    j'ai essayé d’intégrer et modifier ta formule mais sa bug et me laisse des messages d'erreur !!
    désolé on peut pas être bon partout !!!

    une autre idée ?

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,

    Des messages d'erreurs cela me laisse dubitatif. En principe VBA s'arrête à la première erreur.
    Indiquer que cela bug et affiche un message d'erreur, sans en indiquer le numéro et à quel endroit du code ne fera pas avancer le schmilblick.
    Soit plus précis si tu veux de l'aide et affiche le code que tu as testé.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 6
    Par défaut
    Bonjour,

    le code complet que j'ai c'est celui la (la première partie est celle que j'avais déjà et qui fonctionne la seconde est en partie la tienne)

    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
     
    Sub ListeOngletAvecLiens()
    Dim i As Integer
    Dim sht As Worksheet
    Dim rng As Range, rngAmount As Range
     
    For i = 1 To Sheets.Count
    Cells(i + 2, 1).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "'" & Sheets(i).Name & "'" & "!A1", TextToDisplay:=Sheets(i).Name
     
    Cells(i + 2, 2).Select
    Set sht = ThisWorkbook.Sheets(i).Name
    Set rngAmount = sht.Range("O:O")
    Set rng = rngAmount.Find(What:="Montant H.T.", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
    Debug.Print rng.Offset(0, 1)
     
     Next i
    End Sub
    Effectivement j'ai un message d'erreurs à la fois mais quand je dis DES messages d'erreurs c'est parce que j'ai essayé plusieurs choses et à chaque fois j'ai un bug (dsl)
    Ça bug à la ligne de code 12, ça aime pas la formulation
    J'ai aussi essayé avec ta formule mais pareil

    J'ai essayé aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Cells(i + 2, 2).Select
    Set sht = ThisWorkbook.ActiveSheet
    Set rngAmount = sht.Range("O:O")
    Set rng = rngAmount.Find(What:="Montant H.T.", LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)
    Debug.Print rng.Offset(0, 1)
    mais la c'est la dernière ligne qui n'est pas aimé (le Debug)

    Merci

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est si compliqué de donner le n° de message d'erreur ?
    Alors d'après le code que je lis. D'après moi, ce n'est pas la ligne 12 mais la 13 qui pose problème.
    En effet dans cette ligne, la propriété Name est de trop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set sht = ThisWorkbook.Sheets(i).Name
    Le message qui s'affiche Erreur d'exécution 424 - objet requit
    L'instruction exacte est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set sht = ThisWorkbook.Sheets(i)
    Je te suggère la lecture de tutoriels avant de commencer, sinon tu vas copier/coller du code que l'on te donne sans le comprendre
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Executer une macro si la valeur d'une cellule change par une formule
    Par billard-man dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/01/2015, 21h25
  2. Macro pour prendre valeur d'une cellule dans un autre fichier.
    Par Zill1975 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/02/2013, 17h08
  3. [XL-2007] Renvoyer la valeur d'une cellule dans les en tête et pied de page.
    Par bedoch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/07/2009, 09h02
  4. lancer une macro en fonction de la valeur d'une cellule
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/06/2008, 17h18
  5. Charger Macro apres changement de valeur d'une cellule
    Par jackfred dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/07/2007, 14h51

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