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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 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

  4. #4
    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

  5. #5
    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)

  6. #6
    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

  7. #7
    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
    @+

  8. #8
    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

  9. #9
    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

+ 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