Remplir les cellules vides avec des 0
Résolu
BILLING
Messages postés
162
Date d'inscription
Statut
Membre
Dernière intervention
-
BILLING Messages postés 162 Date d'inscription Statut Membre Dernière intervention -
BILLING Messages postés 162 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais remplir les cellules vides d'une colonne avec des 0. Et je veux que ceci s'applique seulement jusqu'à la dernière ligne de données. Pour cela, j'utilise la colonne A qui détermine la dernière ligne de données.
Est-ce que quelqu'un pourrait me dire ce que je dois changer dans ma Macro pour que ça fontionne? Pour l'instant, la Macro semble faire le tour de ma colonne L puis s'arrête à la cellule O2. Mais les cellules vides demeurent vides :-( C'est clair que ma syntaxe est incorrect. J'ai aucune idée comment l'écrire.
Sub MettreLesZero()
'
' MettreLesZero Macro
' Met les 0 dans les cellules vide de %MLO et %WEL
'
'
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range("L:L")
If cellule.Value = """" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
End Sub
J'aimerais remplir les cellules vides d'une colonne avec des 0. Et je veux que ceci s'applique seulement jusqu'à la dernière ligne de données. Pour cela, j'utilise la colonne A qui détermine la dernière ligne de données.
Est-ce que quelqu'un pourrait me dire ce que je dois changer dans ma Macro pour que ça fontionne? Pour l'instant, la Macro semble faire le tour de ma colonne L puis s'arrête à la cellule O2. Mais les cellules vides demeurent vides :-( C'est clair que ma syntaxe est incorrect. J'ai aucune idée comment l'écrire.
Sub MettreLesZero()
'
' MettreLesZero Macro
' Met les 0 dans les cellules vide de %MLO et %WEL
'
'
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range("L:L")
If cellule.Value = """" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
End Sub
A voir également:
- Remplir les cellules vides avec des 0
- Organigramme a remplir word - Guide
- Verrouiller des cellules excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Comment supprimer les pages vides sur word - Guide
- Remettre a 0 un pc - Guide
5 réponses
Bonjour à tous
tout simplement :o)
Edit modifié le code
Michel
tout simplement :o)
derlig = Columns("A").Find("*", , , , , xlPrevious).Row If Application.CountIf(Range("L1:L" & derlig), "") > 0 Then Range("L1:L" & derlig).SpecialCells(xlCellTypeBlanks) = 0 End If
Edit modifié le code
Michel
bonjour,
N'aurais-tu pas décoché l'affichage des zéros ?
Tu n'as pas besoin de doubler les guillemets :
N'aurais-tu pas décoché l'affichage des zéros ?
Tu n'as pas besoin de doubler les guillemets :
If cellule.Value = "" Then
Pas certaine de savoir où j'aurais décoché l'affichage des zéros. Par contre, sesont des cellules vides, sans formule à l'intérieur.
J'ai enlevé les doubles guillemets mais ma fonction n'est toujours pas à point. Cette fois, elle a mis des zéros dans quelques cellules puis elle n'a jamais complété. En fait, j'ai dû l'arrêter car elle ne semblait pas finir :-/
Le End If est maintenant surligné en jaune dans Visual Basic. Qu'est-ce qui ne va pas?
Sub MettreLesZero()
'
' MettreLesZero Macro
' Met les 0 dans les cellules vide de %MLO et %WEL
'
'
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range("L:L")
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
End Sub
J'ai enlevé les doubles guillemets mais ma fonction n'est toujours pas à point. Cette fois, elle a mis des zéros dans quelques cellules puis elle n'a jamais complété. En fait, j'ai dû l'arrêter car elle ne semblait pas finir :-/
Le End If est maintenant surligné en jaune dans Visual Basic. Qu'est-ce qui ne va pas?
Sub MettreLesZero()
'
' MettreLesZero Macro
' Met les 0 dans les cellules vide de %MLO et %WEL
'
'
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range("L:L")
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
End Sub
Salut,
regarde comme cela, pour surveiller la plage A1 à L dernière ligne de A non vide
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([A1], [A65536].End(xlUp).Offset(0, 11))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
regarde comme cela, pour surveiller la plage A1 à L dernière ligne de A non vide
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([A1], [A65536].End(xlUp).Offset(0, 11))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
quelle plage veux tu surveiller de A1 à L équivalent à la dernière ligne non vide de A ou simplement la colonne L de L1 à L dernière ligne non vide de A exemple L20
quelle plage veux tu surveiller de A1 à L équivalent à la dernière ligne non vide de A ou simplement la colonne L de L1 à L dernière ligne non vide de A exemple L20
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
alors voila
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([L1], [A65536].End(xlUp).Offset(0, 11))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
alors voila
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([L1], [A65536].End(xlUp).Offset(0, 11))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
Mike,
J'essais d'appliquer la même syntaxe pour la colonne O. Voici ce que j'ai écrit.
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([L1], [A65536].End(xlUp).Offset(0, 11))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([O1], [A65536].End(xlUp).Offset(0, 14))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("I2").Select
Mais ça ne fonctionnne pas. Je reçois ce message: "Erreur de compilation. Déclaration existante dans la portée en cours." Je ne comprends pas ce que ça veut dire. Peux-tu m'aider?
Merci :-)
J'essais d'appliquer la même syntaxe pour la colonne O. Voici ce que j'ai écrit.
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([L1], [A65536].End(xlUp).Offset(0, 11))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("O2").Select
Dim cellule As Range
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For Each cellule In Range([O1], [A65536].End(xlUp).Offset(0, 14))
If cellule.Value = "" Then
cellule.Value = 0
End If
Next cellule
Range("I2").Select
Mais ça ne fonctionnne pas. Je reçois ce message: "Erreur de compilation. Déclaration existante dans la portée en cours." Je ne comprends pas ce que ça veut dire. Peux-tu m'aider?
Merci :-)
Merci, ça fonctionne. Désolée pour avant, je crois que j'ai perdu le fil des réponses. J'ai manqué la tienne totalement.
Merci encore :-)
Voici ma version adaptée à mes besoins:
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
If Application.CountIf(Range("L1:L" & derlig), "") > 0 Then
Range("L1:L" & derlig).SpecialCells(xlCellTypeBlanks) = 0
End If
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
If Application.CountIf(Range("O1:O" & derlig), "") > 0 Then
Range("O1:O" & derlig).SpecialCells(xlCellTypeBlanks) = 0
End If