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

Excel Discussion :

Mise en forme conditionnelle si cellule "vide"


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut Mise en forme conditionnelle si cellule "vide"
    Bonjour,
    Je recherche à faire un mise en forme conditionnelle de cette forme :
    Si NBval (A1:A7)>0 alors les cellules "vides" entre A1:A7 sont égal à /.
    J'ai écris ceci mais il ne fonctionne pas :
    =Si(NBVAL($A17:$AM17)>0;ESTVIDE($A17:$AM17)="/")
    Quelqu'un a t-il une solution ?

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866

  3. #3
    Membre éprouvé Avatar de excfl
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 690
    Points : 1 250
    Points
    1 250
    Par défaut
    Bonjour le forum,

    Se placer en A1 : MFC : S'applique à : =$A$1:$A$7.

    Quant au "/" : ???

    Par formule :

    B1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTVIDE(A1);"/";"")

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par floflo50100 Voir le message
    Je recherche à faire un mise en forme conditionnelle de cette forme :
    Les mise en forme conditionnelles, comme leur nom l'indique, ne peuvent intervenir que sur la mise en forme d'une cellule, pas sur son contenu.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Tu ne peux pas utiliser la fonction ESTVIDE sur une plage de cellule. Elle est utilisable sur une cellule précise comme l'illustre l'exemple de excfl.

    Pour faire ce que tu veux, à mon avis, tu vas devoir passer par une macro. Je doute que tu puisses le faire simplement par des formules.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    Le problème est que ma macro est pleine..
    Pourtant sur des tableurs on arrive à attribuer des valeurs par une mise en forme conditionnelle.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Je ne comprend pas ce que tu veux dire par ma macro est pleine.

    Le problème c'est que le formatage conditionnel te permet de changer la couleur ou le type de police utilisé. Je doute que tu puisses définir une valeur de cellule comme ça...

    Maintenant peut être que je me trompe.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    J'ai cette macro :
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     Private Sub CommandButton1_Click()
     
        Dim quoi As Variant
        Dim trouve As Range
        quoi = ComboBox1
        With Sheets("feuil1").Range("c15:c65536")
            Set trouve = .Find(quoi, lookat:=xlWhole)
            If Not trouve Is Nothing Then
                trouve.Offset(0, -2) = TextBox1.Text
                trouve.Offset(0, -1) = TextBox2.Text
                trouve.Offset(0, 1) = TextBox3.Text
                trouve.Offset(0, 3) = TextBox4.Text
                trouve.Offset(0, 4) = TextBox5.Text
                trouve.Offset(0, 5) = TextBox6.Text
                trouve.Offset(0, 6) = TextBox7.Text
                trouve.Offset(0, 7) = TextBox8.Text
                trouve.Offset(0, 8) = TextBox9.Text
                trouve.Offset(0, 9) = TextBox10.Text
                trouve.Offset(0, 10) = TextBox11.Text
                trouve.Offset(0, 11) = TextBox12.Text
                trouve.Offset(0, 12) = TextBox13.Text
                trouve.Offset(0, 13) = TextBox14.Text
                trouve.Offset(0, 14) = TextBox15.Text
                trouve.Offset(0, 15) = TextBox16.Text
                trouve.Offset(0, 16) = TextBox17.Text
                trouve.Offset(0, 17) = TextBox18.Text
                trouve.Offset(0, 18) = TextBox19.Text
                trouve.Offset(0, 19) = TextBox20.Text
                trouve.Offset(0, 20) = TextBox21.Text
                trouve.Offset(0, 21) = TextBox22.Text
                trouve.Offset(0, 22) = TextBox23.Text
                trouve.Offset(0, 23) = TextBox24.Text
                trouve.Offset(0, 24) = TextBox25.Text
                trouve.Offset(0, 25) = TextBox26.Text
                trouve.Offset(0, 26) = TextBox27.Text
                trouve.Offset(0, 27) = TextBox28.Text
                trouve.Offset(0, 28) = TextBox29.Text
                trouve.Offset(0, 29) = TextBox30.Text
                trouve.Offset(0, 30) = TextBox31.Text
                trouve.Offset(0, 31) = TextBox32.Text
                trouve.Offset(0, 32) = TextBox33.Text
                trouve.Offset(0, 33) = TextBox34.Text
                trouve.Offset(0, 34) = TextBox35.Text
                trouve.Offset(0, 35) = TextBox36.Text
                trouve.Offset(0, 36) = TextBox37.Text
     
     
                If OptionButton1.Value = True Then
                    trouve.Offset(0, 2) = OptionButton1.Caption
                ElseIf OptionButton2.Value = True Then
                    trouve.Offset(0, 2) = OptionButton2.Caption
                ElseIf OptionButton3.Value = True Then
                    trouve.Offset(0, 2) = OptionButton3.Caption
                ElseIf OptionButton4.Value = True Then
                    trouve.Offset(0, 2) = OptionButton4.Caption
                ElseIf OptionButton5.Value = True Then
                    trouve.Offset(0, 2) = OptionButton5.Caption
                ElseIf OptionButton6.Value = True Then
                    trouve.Offset(0, 2) = OptionButton6.Caption
                End If
     
                Set ref = Columns(3).Find(what:=ComboBox1.Value, lookat:=xlWhole)
        If Not ref Is Nothing Then
        ref.Hyperlinks.Delete
        ActiveSheet.Hyperlinks.Add Anchor:=ref, Address:=TextBox39.Value
     
            Range("C17:C1000").HorizontalAlignment = xlCenter
            Range("C17:C1000").VerticalAlignment = xlCenter
     
     
        End If
     
                MsgBox "Vous venez de modifier un QMOS dans la base de données"
                Response = MsgBox("Voulez vous modifier un autre QMOS ?", vbYesNo)
                If Response = vbYes Then
                    ComboBox1 = ""
                    TextBox1.Text = ""
                    TextBox2.Text = ""
                    TextBox3.Text = ""
                    TextBox4.Text = ""
                    TextBox5.Text = ""
                    TextBox6.Text = ""
                    TextBox7.Text = ""
                    TextBox8.Text = ""
                    TextBox9.Text = ""
                    TextBox10.Text = ""
                    TextBox11.Text = ""
                    TextBox12.Text = ""
                    TextBox13.Text = ""
                    TextBox14.Text = ""
                    TextBox15.Text = ""
                    TextBox16.Text = ""
                    TextBox17.Text = ""
                    TextBox18.Text = ""
                    TextBox19.Text = ""
                    TextBox20.Text = ""
                    TextBox21.Text = ""
                    TextBox22.Text = ""
                    TextBox23.Text = ""
                    TextBox24.Text = ""
                    TextBox25.Text = ""
                    TextBox26.Text = ""
                    TextBox27.Text = ""
                    TextBox28.Text = ""
                    TextBox29.Text = ""
                    TextBox30.Text = ""
                    TextBox31.Text = ""
                    TextBox32.Text = ""
                    TextBox33.Text = ""
                    TextBox34.Text = ""
                    TextBox34.Text = ""
                    TextBox36.Text = ""
                    TextBox37.Text = ""
     
     
                Else
                    Unload Me
                End If
            End If
        End With
    End Sub
    Et je voudrais que quand je renseigne un ligne avec mes textbox , celles qui ne sont pas renseigné se remplisse automatiquement avec "/"

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Tu peux faire une autre Sub() que tu appelles à la fin de ta macro et qui va simplement vérifier les données sur toute la plage que tu souhaites. Si ces données sont vides tu mets un "/".

    Tu peux appeler une autre Sub() à la fin de ta macro à l'aide de la fonction Call nom_sub.

    Je t'invite à regarder le lien que Menhir t'a proposé dans son premier poste: http://www.developpez.net/forums/d15...le-vide-ligne/. Un code a été proposé.

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Là, il va falloir que tu sois plus claire, détaillé et précis. Parce que j'ai l'impression que ton besoin est complètement différent de ce que pouvait laisser penser ta question de départ.

    Pourtant sur des tableurs on arrive à attribuer des valeurs par une mise en forme conditionnelle.
    Si tu en es persuadé, il va falloir que tu expliques comment.

    Les MFC permettent de modifier les format de nombre, police, bordure et remplissage. Rien de plus, rien de moins.
    Dans cette liste, je ne vois pas ce qui permettrait de mettre une valeur.
    Eventuellement, tu pourrais avoir une cellule rouge ou jaune si les conditions voulues sont remplies.

    Même avec les formats Nombre personnalisés, il faut au moins qu'il y ait une valeur (éventuellement 0) pour faire apparaitre quelque chose.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    J'ai mis à la fin de mon code Call Slash
    Mainteant comme tu as dis il me faudrait
    Private Sub Slash()
    Textuellement je sais ce que je veux :
    If sur la dernière ligne toutes les cellules comprisent entre(A:AM)= Vide Then
    Cellule vide = "/"
    End if
    Mais je suis nul en programmation.. Je suis completement perdu

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Re,

    Alors voilà une simple macro pour tester les valeurs entre les cellules A1 et M1. Je te laisse faire 2 petites modifications:
    • Changer le nom de la feuille dans le code
    • Changer le RANGE si tu veux que d'autres cellules soient testées


    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
    Sub Test()
        'Déclaration des variables
        Dim Sht As Worksheet
        Dim Rng As Range
        Dim i As Integer
        Dim charReplace As String
        Dim c As Range
     
        Set Sht = ThisWorkbook.Worksheets("Sheet1") 'Feuille concernée
        Set Rng = Sht.Range("A1:AM1") 'La plage de valeur à tester
        charReplace = "\"   'Le caractère à mettre en cas de valeur vide
     
        For Each c In Rng.Cells 'Boucle sur toutes les cellules
            If c.Value = "" Then 'Si la valeur est vide
                c.Value = charReplace
            End If
        Next
    End Sub

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    Bonjour,
    Mon petit soucis est au niveau de Sht.Range.
    Si je met ("A17:AM17") logique il me prend en compte que sur cette ligne la.
    Ce qu'il me faut c'est appliqué la macro sur la dernière ligne renseigné entre les cellule A et AM.
    Est-il possible de faire ceci ?

  14. #14
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je t'ai écrit une macro qui fait ça : http://www.developpez.net/forums/d15...e/#post8203310
    Mais, visiblement, tu n'as pas pris la peine de la tester.

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    Si si je l'ai testé avec le code :
    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
    Sub Test()
        'Déclaration des variables
        Dim Sht As Worksheet
        Dim Rng As Range
        Dim i As Integer
        Dim charReplace As String
        Dim c As Range
     
        Set Sht = ThisWorkbook.Worksheets("Feuil1") 'Feuille concernée
        Set Rng = Sht.Range("A17:AM17") 'La plage de valeur à tester
        charReplace = "\"   'Le caractère à mettre en cas de valeur vide
     
        For Each c In Rng.Cells 'Boucle sur toutes les cellules
            If c.Value = "" Then 'Si la valeur est vide
                c.Value = charReplace
            End If
        Next
    End Sub
    J'ai obtenu :
    Nom : Photo QMOS10.jpg
Affichages : 11235
Taille : 305,4 Ko
    Et avec ce code la :
    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
    Sub Test()
        'Déclaration des variables
        Dim Sht As Worksheet
        Dim Rng As Range
        Dim i As Integer
        Dim charReplace As String
        Dim c As Range
     
        Set Sht = ThisWorkbook.Worksheets("Feuil1") 'Feuille concernée
        Set Rng = Sht.Range("A17:AM50") 'La plage de valeur à tester
        charReplace = "\"   'Le caractère à mettre en cas de valeur vide
     
        For Each c In Rng.Cells 'Boucle sur toutes les cellules
            If c.Value = "" Then 'Si la valeur est vide
                c.Value = charReplace
            End If
        Next
    End Sub
    J'ai obtenu :
    Nom : photo QMOS 11.jpg
Affichages : 11080
Taille : 344,4 Ko

    C'est pour cela que je te disais qu'il faut que la macro recherche la denrière ligne et applique "/" entre les colonne A et AM.

  16. #16
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par floflo50100 Voir le message
    C'est pour cela que je te disais qu'il faut que la macro recherche la denrière ligne et applique "/" entre les colonne A et AM.
    C'est exactement ce que fait mon code.
    Mais comme tu as supprimé dans tes essais la ligne de code qui recherche la dernière ligne utilisée, c'est sûr que ça ne peut pas marcher.

    Ce n'est pas juste pour faire joli que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    Bonjour,
    Je suis désolé, je suis débutant en vba je suis complètement perdu...
    J'ai du coup c'est deux codes que vous m'avez transmis..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Fin as Long
    Dim c as Range
     
    Fin = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
     
    For Each c in Range("A"&Fin&":AM"&Fin)
       If c.Value = "" then c.Value = "/"
    Next c
    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
    Sub Test()
        'Déclaration des variables
        Dim Sht As Worksheet
        Dim Rng As Range
        Dim i As Integer
        Dim charReplace As String
        Dim c As Range
     
        Set Sht = ThisWorkbook.Worksheets("Sheet1") 'Feuille concernée
        Set Rng = Sht.Range("A1:AM1") 'La plage de valeur à tester
        charReplace = "\"   'Le caractère à mettre en cas de valeur vide
     
        For Each c In Rng.Cells 'Boucle sur toutes les cellules
            If c.Value = "" Then 'Si la valeur est vide
                c.Value = charReplace
            End If
        Next
    End Sub
    Il faut faire un mix des deux ?

  18. #18
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    C'est le premier code.

    Mais comme au moment où je l'ai écrit je ne savais pas à quelle feuille elle devait s'appliquer, j'ai utilisé ActiveSheet.
    Au vu de tes dernier message, il faudrait plutôt que tu utilises Sht à la place.
    Je pense que c'est la seule modification nécessaire.

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 26
    Points : 35
    Points
    35
    Par défaut
    Le 2ème je te l'ai transmis mais j'avais pas vu que Menhir avait déjà fait tout le travail sur l'autre poste...
    Je m'excuse :/.
    Du coup reprend simplement la déclaration de la feuille du second code en ajoutant la ligne magique de Menhir .

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 58
    Points : 25
    Points
    25
    Par défaut
    Rebonjour,
    Quelque chose comme ceci ?
    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
    Sub Test()
        'Déclaration des variables
        Dim Sht As Worksheet
        Dim Rng As Range
        Dim i As Integer
        Dim charReplace As String
        Dim c As Range
        Dim Fin As Long
     
     
        Set Sht = ThisWorkbook.Worksheets("Sheet1") 'Feuille concernée
        Set Rng = Sht.Range("A1:AM1") 'La plage de valeur à tester
        charReplace = "\"   'Le caractère à mettre en cas de valeur vide
     Fin = Sht.UsedRange.SpecialCells(xlCellTypeLastCell).Row
     
    For Each c in Range("A"&Fin&":AM"&Fin)
       If c.Value = "" Then c.Value = charReplace
    Next c
    End Sub
    Il m'indique une erreur de syntaxe sur For Each c in Range("A"&Fin&":AM"&Fin)

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/04/2013, 08h31
  2. Mise en forme conditionnelle si cellule égale 0
    Par Phixidor dans le forum Excel
    Réponses: 5
    Dernier message: 04/03/2013, 00h18
  3. Réponses: 3
    Dernier message: 11/02/2012, 10h46
  4. [XL-2007] Mise en forme conditionnelle de cellules
    Par Fred4345 dans le forum Excel
    Réponses: 9
    Dernier message: 08/02/2012, 23h59

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