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 :

Fusionner des cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut Fusionner des cellules
    Bonjour à tous,

    je voudrais savoir s'il est possible de fusionner des cellules sous VBA et si oui comment.

    je vous montre à peu près se que je voudrais obtenir.

    Merci


  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Oui c'est possible
    mais il faut savoir que par la suite le traitement devient délicat, VBA ne digère pas bien les cellules fusionnées et tu risques de te retrouver avec des résultats d'opérations alléatoires lors d'une procédure faisant appel à une boucle par exemple.

    A ne pas perdre de vue, les cellules B5 à B10 fusionnées deviennent une seule cellule --> B5

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    174
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 174
    Par défaut
    Ok merci
    et pour redimensionner la largeur d'une cellule quel est le code?

    merci

    Je voulais aussi savoir, car je suis en train de faire le fonctionnement de mon programme (determination des variables...), une variable peut-elle être utilisée pour plusieurs cellules avec une valeur différente.

    je m'explique, par exemple dans ma colonne "STATION" faut-il que je définisse X variable représentant les valeur prise par chaque ligne de cette colonne ou puis je en utiliser qu'une seule?

    Je ne sais pas si je suis clair mais visual basic est tellement flou pour moi...

    merci

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par jbggg Voir le message
    Ok merci
    et pour redimensionner la largeur d'une cellule quel est le code?
    Plusieurs possibilités, notamment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
    Columns("A").ColumnWidth = 10 '<-- une colonne
    Columns("A:G").ColumnWidth = 30 '<-- plusieurs colonnes contigues
    Range("A1, C1, E1").ColumnWidth = 5 '<-- plusieurs colonnes non contigues
    End Sub
    Citation Envoyé par jbggg Voir le message
    je m'explique, par exemple dans ma colonne "STATION" faut-il que je définisse X variable représentant les valeur prise par chaque ligne de cette colonne ou puis je en utiliser qu'une seule?
    Difficile de répondre précisément oui ou non, cela dépend de ce que tu veux faire après avec cette variable ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Pour la 1ère question : vous ne pouvez pas augmenter la largeur d'une cellule, vous ne pouvez augmenter que la largeur d'une colonne (sauf à utiliser la fusion que vous utilisez déjà et avec les restrictions éventuelles évoquées par Fring).

    Pour la 2ème question : il faudrait savoir comment vous utilisez votre variable, mais en principe ce serait dans une boucle, et vous prenez en exemple votre colonne "Station" (ce qui montre déjà le problème des cellules fusionnées) :

    Exemple : la variable Ref prend la valeur de chaque ligne de la colonne A (sachant que Dlgn est également une variable contenant le N° de la dernière ligne à traiter et i est une variable qui sera incrémentée de 1 à chaque passage dans la boucle)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 7 to Dlgn
    Ref = cells(i, 1)
     
    ..................suite du code
     
    next i
    A la variable Ref sera affectée la valeur de chaque ligne.

    Mais comme dans cette colonne les cellules sont fusionnées 2 par 2 il faudra utiliser (la variable i sera incrémentée de 2 à chaque passage dans la boucle) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 7 to Dlgn step 2
    Ref = cells(i, 1)
     
    ..................suite du code
     
    next i

Discussions similaires

  1. poi excel : fusionner des cellules
    Par don'de dans le forum Documents
    Réponses: 1
    Dernier message: 07/03/2007, 16h04
  2. [C# 1.1] Comment fusionner des cellules dans un datagrid ?
    Par absolute_beginner dans le forum ASP.NET
    Réponses: 5
    Dernier message: 09/11/2006, 16h45
  3. Php et Excel - Fusionner des cellules
    Par krolineeee dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2006, 10h37
  4. [JTable] Fusionner des cellules
    Par Rimk78 dans le forum Composants
    Réponses: 2
    Dernier message: 13/05/2005, 15h53
  5. [] [Excel] Fusionner des cellules
    Par SamyD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2002, 18h37

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