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 :

Impossible de formater les cellules


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
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    Bonjour à tous,

    Encore un problème dont je ne trouve pas la solution.

    .NumberFormat = "0 \ M²" ne fonctionne pas dans ce cas là, pourtant la feuille n'est pas protéger et je trouve bien l'adresse de la cellule à formatée

    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
     
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim R As String, L As Integer, T As Integer, U As String, F As Integer, cellule As Range
     
     
     
    If Not Application.Intersect(Target, Range("B49:c66")) Is Nothing Then
     F = ActiveCell.Row
     R = Sheets("feuil1").Cells(F, 2)
    With Sheets("Feuil5")
     
     
    Set cellule = .Range("A2:A150").Find(R, LookAt:=xlWhole)
     
        T = cellule.Row
      'Formatage des cellules selon l'unité
     
        U = .Cells(T, 3)
        End With
     
        With Sheets("Feuil1")
     
        If U = "M²" Then
        .Cells(F, 5).NumberFormat = "0 \ M²"
        .Cells(F, 6).NumberFormat = "0 \ M²"
        ElseIf U = "M³" Then
        .Cells(F, 5).NumberFormat = "0 \ M³"
        .Cells(F, 6).NumberFormat = "0 \ M³"
         ElseIf U = "ML" Then
        .Cells(F, 5).NumberFormat = "0 \ ML"
        .Cells(F, 6).NumberFormat = "0 \ ML"
        ElseIf U = "F" Then
        .Cells(F, 5).NumberFormat = "0 \ F"
        .Cells(F, 6).NumberFormat = "0 \ F"
        ElseIf U = "Litres" Then
        .Cells(F, 5).NumberFormat = "0 \ L"
        .Cells(F, 6).NumberFormat = "0 \ L"
        ElseIf U = "Unt." Then
       .Cells(F, 5).NumberFormat = "0 \ Unt"
        .Cells(F, 6).NumberFormat = "0 \ Unt"
        ElseIf U = "Tonnes" Then
        .Cells(F, 5).NumberFormat = "0 \ T"
        .Cells(F, 6).NumberFormat = "0 \ T"
        ElseIf U = "Kg" Then
        .Cells(F, 5).NumberFormat = "0 \ Kg"
        .Cells(F, 6).NumberFormat = "0 \ Kg"
        End If
     
        End With
     
    End If
     
    End Sub
    Ce même code dans un autre bouton et sur le même tableau fonctionne parfaitement. Je recherche la ligne différament ma cela ne vient pas de là car je la trouve aussi dans le code de dessus ; j'ai bien vérifié
    Les cellules à formater sont en format standard, j'ai essayé cellule vide et cellule avec une valeur, rien n'y fait
    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
     
     
     With Sheets("Feuil1")
     
      'Formatage des cellules selon l'unité
     
        L = .Range("i44").End(xlUp).Offset(1, 0).Row
        .Cells(L, 9) = Me.Text2.Text
        .Cells(L, 10) = Me.Text3.Text
        .Cells(L, 11) = Me.Text4.Text
        If Me.List1.Text = "M²" Then
        .Cells(L, 11).NumberFormat = "0 \ M²"
        ElseIf Me.List1.Text = "M³" Then
        .Cells(L, 11).NumberFormat = "0 \ M³"
         ElseIf Me.List1.Text = "ML" Then
        .Cells(L, 11).NumberFormat = "0 \ ML"
        ElseIf Me.List1.Text = "Forfait" Then
        .Cells(L, 11).NumberFormat = "0 \ F"
        ElseIf Me.List1.Text = "Litres" Then
        .Cells(L, 11).NumberFormat = "0 \ L"
        ElseIf Me.List1.Text = "Unt." Then
        .Cells(L, 11).NumberFormat = "0 \ Unt"
        ElseIf Me.List1.Text = "Tonnes" Then
        .Cells(L, 11).NumberFormat = "0 \ T"
        ElseIf Me.List1.Text = "Kg" Then
        .Cells(L, 11).NumberFormat = "0 \ Kg"
        End If
     
        End With

    Quelqu'un aurait-il une idée ?

    Merci pour votre aide

    Je viens de m’apercevoir que ces lignes de code fonctionnent, alors pourquoi celles-ci et pas les autres ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ElseIf U = "Tonnes" Then
        .Cells(F, 5).NumberFormat = "0 \ T"
        .Cells(F, 6).NumberFormat = "0 \ T"
    J'ai bien Vérifier, U contient bien la bonne valeur et la condition s'exécute bien au bon endroit, mais ça plante au formatage

    en fait les cellules sont formatées si l'unité à inscrire ne comporte qu'une seule lettre, par exemple si je transforme T en Tonnes, ça ne fonctionne plus

    Quelqu'un aurait-il la solution ?

    merci pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Technicien Méthodes
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Par défaut
    Bonjour,

    Essaye peux etre de rajouter

    en en tete de module

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    Option compare Text
    ne donne aucun résultat, j'ai beau cherché une autre syntaxe sur internet je ne trouve absolument rien qui puisse m'aider

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut
    J'ai trouvé, il suffit de supprimer l'espace aprés \
    Dans excel avec la boite de dialogue format personnalisé il faut l'espace pour que ça marche et là c'est le contraire

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

Discussions similaires

  1. [JTable] Impossible de modifier les cellules
    Par rtg57 dans le forum Composants
    Réponses: 3
    Dernier message: 04/03/2010, 13h06
  2. Formater une cellule nombre pour eviter les dieses
    Par z89bo198 dans le forum Excel
    Réponses: 1
    Dernier message: 12/07/2009, 18h06
  3. DataGridView et format des valeurs dans les cellules
    Par saultapt dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/06/2008, 16h55
  4. [Pilotage d'Excel]Comment définir les formats des cellules
    Par Masmeta dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/04/2008, 18h34
  5. Formater les cellules numériques d'un USERFORM
    Par Stargate SG1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2007, 18h43

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