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 :

Module Mise en forme cellule ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut Module Mise en forme cellule ?
    Bonjour à tous!

    Je souhaite qu'à l'export de mes données (Issues de Text- List- et ComboBoxes) les cellules destinataires s'adaptent à la quantité de données à afficher.

    Pour des raisons de mise en page, il ne faudrait pas que les colonnes soient modifiées, mais seulement la hauteur des lignes (renvoi à la ligne également je pense)...

    Mes différentes recherches et tests ne sont pour le moment pas concluants!

    J'ai expérimenté diverses techniques basées sur le modèle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("A9:P1000").Select 
     Selection.Rows.AutoFit 
    End Sub
    Mais plusieurs soucis:

    - certaines lignes demeurent en format d'origine, malgré le fait que certaines de leur cellules soient remplies de texte,

    - certaines lignes sont exagérément agrandies alors que le contenu de leurs cellules tient en une seule ligne!

    - la gestion du "Renvoyer à la ligne automatiquement" est devenue complètement hasardeuse...

    Auriez vous des pistes à me suggérer? Existerait il un module de gestion efficace du type "efface toute mise en forme puis applique celle ci"?

  2. #2
    Membre expérimenté
    Avatar de MolikDLuffy
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2017
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 158
    Billets dans le blog
    1
    Par défaut
    Bonjour IronHeavy,

    Il faut peut-être remettre l'ensemble des cellules en standard afin de faire par la suite un AutoFit...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sheets("feuil1").Range("A9:P1000").NumberFormat = "General"
    Sheets("feuil1")Range("A9:P1000").Formula = position
    Je n'ai jamais fait le test. Dit moi si ça marche ou pas.

  3. #3
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut
    Bonjour MolikDLuffy,

    Après plusieurs essais, j'ai placé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    With Sheets("PLANACTION")
       .Rows("9:65536").Delete
       .Rows("9:65536").NumberFormat = "General"
       .Rows("9:65536").Formula = Position
    en entète de fonction.

    Cela fonctionne, mais j'ai dorénavant mon tri que se retrouve "cul par dessus tête"!

    à savoir: 65536 lignes vides puis mes données classés (mise en forme fonctionnelle, c'est déjà ça!)... je ne comprends pas où le bât blesse!

    Si je désactive :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Rows("9:65536").Formula = Position
    Mon tri se retrouve à nouveau juste sous la ligne d'entête... mais le format des cellules saute!

  4. #4
    Membre expérimenté
    Avatar de MolikDLuffy
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2017
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 158
    Billets dans le blog
    1
    Par défaut
    Bonjour IronHeavy,

    Il me faudrait ton fichier car je ne vois pas dutout la chose...

    Sinon j'ai bien rigolé sur ton expression
    cul par dessus tête
    car c'est la première fois que je lis ça

    Pour revenir à ton sujet, si ta base est issue d'une extraction, je sais qu'en général lors de l'extraction (même en format excel), elle n'est pas fiable pour les formats des cellules.

    Moi ce que je fais, je copie tout et colle en texte sur un autre classeur.

  5. #5
    Membre éclairé
    Homme Profil pro
    autre
    Inscrit en
    Juin 2017
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Juin 2017
    Messages : 261
    Par défaut
    Ci dessous mon code complet, peut être l'erreur se situerait dans une sous fonction?

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    Private Sub CHierarchisation_Click()
     
     With Sheets("PLANACTION")
        .Rows("9:65536").EntireRow.Delete
        .Rows("9:65536").NumberFormat = "General"
        .Rows("9:65536").Formula = Position
     
       For Each Sh In Sheets
         Select Case Sh.Name
           Case "ADMINISTRATIF", "COLLECTEDECHETS", "DDD", "ESPACESVERTS", "GYPSE", "HAUTEPRESSION", "HOSPITALIER", "HÔTELLERIE", "INDUSTRIE", "INTERHAUTEUR", "LOGISTIQUE", "MECANISE", "NETTOYAGE", "SANITAIRES", "TUNNEL", "VITRERIE"
           For lg = 9 To Sh.Range("A" & Rows.Count).End(xlUp).Row
               LgS = .UsedRange.Rows.Count + 1
               .Cells(LgS, 1) = Sh.Cells(lg, 18)
               .Cells(LgS, 2) = Sh.Cells(lg, 6)
               .Cells(LgS, 3) = Sh.Cells(lg, 5)
               .Cells(LgS, 4) = CInt(Sh.Cells(lg, 11))
               .Cells(LgS, 5) = CInt(Sh.Cells(lg, 12))
               .Cells(LgS, 6) = CSng(Sh.Cells(lg, 14))
               .Cells(LgS, 7) = CInt(Sh.Cells(lg, 17))
               .Cells(LgS, 8) = Sh.Cells(lg, 19)
               .Cells(LgS, 9) = Sh.Cells(lg, 20)
               .Cells(LgS, 10) = Sh.Cells(lg, 21)
               .Cells(LgS, 11) = CSng(Sh.Cells(lg, 22))
               .Cells(LgS, 12) = CInt(Sh.Cells(lg, 23))
               .Cells(LgS, 13) = Sh.Cells(lg, 24)
               .Cells(LgS, 14) = Sh.Cells(lg, 25)
               .Cells(LgS, 15) = Sh.Cells(lg, 26)
               .Cells(LgS, 16) = Sh.Cells(lg, 27)
           Next
     
           Case Else
     
         End Select
       Next
     
     Rows("9:65536").Select
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=Range("G9") _
            , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
     
            With Worksheets("PLANACTION").Sort
            .SetRange Range("A9:P1000")
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
     
                End With
     
     End With
     
      With Worksheets("PLANACTION")
        With Range("A:P")
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .WrapText = True
            .MergeCells = False
            .Rows.AutoFit
         End With
       End With
     '       .HorizontalAlignment = xlGeneral
     '       .VerticalAlignment = xlCenter
     '       .WrapText = True
     '       .Orientation = 0
     '       .AddIndent = False
     '       .IndentLevel = 0
     '       .ShrinkToFit = False
     '       .ReadingOrder = xlContext
     '       .MergeCells = False
     
     
    Sheets("PLANACTION").Activate
    Unload FIDENTIFICATION
    Unload FSECTORISATION
    Unload FMAÎTRISE
    Unload FPLANACTION
     End Sub

  6. #6
    Membre expérimenté
    Avatar de MolikDLuffy
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Mars 2017
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 158
    Billets dans le blog
    1
    Par défaut
    Je ne vois pas la déclaration de la Variante pour Sh

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 11/12/2013, 11h20
  2. [AC-2003] Mise en forme cellule tableau word
    Par noratec dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/04/2010, 14h36
  3. Mise en forme cellule TableLayoutPanel
    Par bib34690 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 03/04/2009, 07h37
  4. Formule "SI" et mise en forme cellule LISTVIEW
    Par fidecourt dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 27/03/2009, 10h03
  5. Mise en forme cellule et condition
    Par Shadow5 dans le forum Excel
    Réponses: 1
    Dernier message: 21/03/2008, 10h56

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