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
--
eLise
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
--
eLise
A voir également:
- Remplir les cellules vides avec des 0
- Comment supprimer les pages vides sur word - Guide
- Verrouiller des cellules excel - Guide
- Remettre a 0 un pc - Guide
- Organigramme a remplir word - Guide
- Excel additionner des cellules - Guide
5 réponses
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.
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