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 :

Fonction Excel en VB


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut Fonction Excel en VB
    Bonjour,

    Je dévute en Visual Basic, et je cherche comment appliquer en VB les fonctions du menu Excel, existe t-il une doc ?

    Par exemple je cherche les fonctions suivantes :

    Comment fusionner plusieurs cellules d'une même ligne
    Comment Ajuster la largeur d'une colonne à la taille du contenu des cellules
    Comment appliquer le format texte à une colonne

    Merci de votre aide

  2. #2
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour,

    utilise l'éditeur de macros

    Outils / Macro / Nouvelle macro

    Lorsque tu as terminé, clique sur le petit carré.

    Alt + F11 pour visualiser le code et essayer de le comprendre.

    cordialement

    EDIT je te déconseille la fusion de cellule qui est souvent source de problème par la suite, si tu peux, utilise "Centrer sur plusieurs colonnes".

  3. #3
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour

    je ne sais pas s'il y a un doc pour cela, mais l'aide excel est assez complete

    regarde pour la fusion : application.union(.......,.,..,...,.,.,.,.)

    pour la largeur : columns(x).width = yyyyyyy

    pour le format : Range("B1").entirecolumn.NumberFormat = "@"

    Bonne jornée

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Merci de me répondre,

    En fait j'ai déja écrit un script qui lis un fichier texte et qui avec une rupture permettant de ranger les données dans différente feuilles excel.

    Je me suis juste aidé de l'aide pour débuter en VB car je connais d'autres langage.

    Maintenant je souhaite juste mettre en forme mes feuilles et cellules comment je le ferais à la main sous excel, mais je ne retrouve pas les fonctions désirés qui sont classées par ordre alphabétique dans l'aide.

    Comment retrouver la fonction VB correspondant à une option du menu, en l'occurence je ne trouve pas les 3 actions définis plus haut

  5. #5
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re

    si tu utilises l'éditeur de macro, tu auras après simplification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'ajustement de la largeur des colonnes A à C
        Columns("A:C").EntireColumn.AutoFit
     'fusion des cellules
     Range("A24:H24").Merge
      'centrage sur plusieurs colonnes
      Range("A25:H25").HorizontalAlignment = xlCenterAcrossSelection
    ' format texte
      Range("A26:H26").NumberFormat = "@"
    environ 3 minutes en prenant son temps.

    cordialement

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2006
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 366
    Par défaut
    Bonjour,

    As-tu essayé ce que t'a pas proposé Fred65200 ? Pour moi c'est la meilleure solution pour (re)trouver des fonctions VB qui font ce qu'on applique habituellement "à la main" dans Excel. (et a fortiori pour ton cas)

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Merci beaucoup

    J'ai appliqué le code suivant qui marche bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Worksheets(feuille).Columns(col).NumberFormat = "@"
    Worksheets(feuille).Columns(col).EntireColumn.AutoFit
    ou feuille et col sont des variables.

    Pour le merge, comment l'utiliser avec une variable ? je veux fusionner les cellules de la ligne 1, de la colonne 1 à la colonne n_col (nombre de colonnes)

    Merci d'avance

    Sinon j'ai pas bien compris comment retrouver un code VB à partir d'une option du menu Excel, sans avoir à poster pour chaque fonction

  8. #8
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheets(feuille).Range(cells(1,1),cells(1,n_col)).HorizontalAlignment = xlCenterAcrossSelection
    'ou si tu y tiens
    'Worksheets(feuille). Range(cells(1,1),cells(1,n_col)).merge
    EDIT je t'invite à relire ce post
    Citation Envoyé par fred65200 Voir le message
    bonjour,

    utilise l'éditeur de macros
    @+

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Merci pour ces réponses rapides,

    Tous marche, par contre je n'ai pas bien compris ton premier poste, comment utiliser l'éditeur de macro, désolé.

    Tu m'as dis :

    Outils / Macro / Nouvelle macro

    Lorsque tu as terminé, clique sur le petit carré.

    Alt + F11 pour visualiser le code et essayer de le comprendre.
    Lorsque j'ai terminé quoi ? j'ai pas bien pigé

  10. #10
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par Eric93 Voir le message
    Sinon j'ai pas bien compris comment retrouver un code VB à partir d'une option du menu Excel, sans avoir à poster pour chaque fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Worksheets(feuille).Columns(col).NumberFormat = "@"
    Worksheets(feuille).Columns(col).EntireColumn.AutoFit
    Comme dit plus haut, avec l'éditeur de macro tu à des mot de syntaxe dans la macro et pour avoir, par exemple tout les renseignement sur 'NumberFormat ' dans le code tu double clic dessus pour le sélectionner (en bleu en principe) et ensuite tu tape F1

  11. #11
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re

    Si tu es sur Excel avant 2007, tu vas dans le menu Outils, tu descends jusqu'à Macro et nouvelle macro

    une boite de dialogue s'affiche, clique sur OK
    à partir de ce moment, tout ce que tu fais sur Excel est enregistré.

    Clique sur le petit carré bleu pour arrêter l'enregistrement.

    Vas dans l'éditeur Visual Basic (Alt + F11) pour voir la macro que tu viens d'enregistrer..

    Si tu es sur Excel 2007 il faut Afficher l'onglet Développeur (ce n'est pas obligatoire mais plus aisé pour la suite)
    Bouton Office / Options Excel (en bas à droite)
    Rubrique Standard, coche la troisième case Afficher l'onglet Développeur dans le ruban.
    Dans l'onglet Développeur, clique sur Enregistrer une macro etc.
    @+

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Je suis sur Excel 2003,

    Ok, je viens de capter, il fallais retourner sur excel et faire les actions puis retourner sur la macro pour voir le code. Je vais pouvoir faire les action Excel sans passer des heures dans l'aide à chercher.

    Merci beaucoup, il me reste plus qu'a trouver le petit carré bleu, lol. Il est ou sur Excel ou sur l'editeur de macro ?

  13. #13
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re

    si tu enregistres une macro, tu vas voir le petit carré bleu sur EXCEL.

    Si tu as obtenu une réponse à ce post, n'oublie pas de cliquer sur Résolu.

    Cordialement

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Désolé, je vois pas de carré bleu et effectivement, tout ce que je fais sur excel s'enregistre dans la macro, je peux pas désactiver l'éditeur de macro.

    Il est ou le carré ? je dois être aveugle

  15. #15
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour Fred
    Oui, le carré n'est pas toujours dispo, alors tu reprend Outils > Macro > Arrèté la macro
    A+

  16. #16
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Dans Outils > Macro >

    Je n'ai pas d'option Arrèter la macro

  17. #17
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re
    et bonjour LeForestier

    Affichage / Barre d'outils / Visual Basic

  18. #18
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    Ok, en fait je n'avais pas la barre d'outil VB, ou effectivement je trouve le fameu carré bleu, lol.

    Merci beaucoup pour votre aide

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

Discussions similaires

  1. Utilisation fonction excel dans ACCESS: Ereur de compilation
    Par mat_lefebvre dans le forum Access
    Réponses: 2
    Dernier message: 22/03/2006, 10h44
  2. [VB.NET][Excel] utiliser des fonction Excel comme xlToRight
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/03/2006, 12h10
  3. fonction excel
    Par semur dans le forum Excel
    Réponses: 4
    Dernier message: 24/01/2006, 17h41
  4. [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
  5. Fonction excel: trouvé un numéro de ligne
    Par Nanid dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/09/2005, 14h52

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