Attribution automatique de valeur 0 à des cellules vides
VicoFer
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite développer un code pour attribuer la valeur 0 à toute cellule laissée vide dans une plage de données. Je crois comprendre qu'il est possible de faire exécuter la procédure à Excel automatiquement lorsque l'on change de feuille de calcul mais j'avoue ne pas y parvenir depuis plusieurs jours.
Le code que j'ai mis au point jusqu'à maintenant est:
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Types de Portefeuilles").Select
Dim i As Integer
Dim j As Integer
i = Cells(1, 3).Value 'Nombre de lignes que compte mon fichier
For j = i To 5 Step -1
While Cells(j, 1) <> ""
If IsEmpty(Cells(j, 4)) = True Then Cells(j, 4) = 0
ElseIf IsEmpty(Cells(j, 5)) = True Then Cells(j, 5) = 0
ElseIf IsEmpty(Cells(j, 6)) = True Then Cells(j, 6) = 0
ElseIf IsEmpty(Cells(j, 7)) = True Then Cells(j, 7) = 0
ElseIf IsEmpty(Cells(j, 8)) = True Then Cells(j, 8) = 0
End If
Next j
End Sub
Quelqu'un saurait-il m'expliquer ce qui cloche?
Merci d'avance,
Victor
Je souhaite développer un code pour attribuer la valeur 0 à toute cellule laissée vide dans une plage de données. Je crois comprendre qu'il est possible de faire exécuter la procédure à Excel automatiquement lorsque l'on change de feuille de calcul mais j'avoue ne pas y parvenir depuis plusieurs jours.
Le code que j'ai mis au point jusqu'à maintenant est:
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Types de Portefeuilles").Select
Dim i As Integer
Dim j As Integer
i = Cells(1, 3).Value 'Nombre de lignes que compte mon fichier
For j = i To 5 Step -1
While Cells(j, 1) <> ""
If IsEmpty(Cells(j, 4)) = True Then Cells(j, 4) = 0
ElseIf IsEmpty(Cells(j, 5)) = True Then Cells(j, 5) = 0
ElseIf IsEmpty(Cells(j, 6)) = True Then Cells(j, 6) = 0
ElseIf IsEmpty(Cells(j, 7)) = True Then Cells(j, 7) = 0
ElseIf IsEmpty(Cells(j, 8)) = True Then Cells(j, 8) = 0
End If
Next j
End Sub
Quelqu'un saurait-il m'expliquer ce qui cloche?
Merci d'avance,
Victor
A voir également:
- Attribution automatique de valeur 0 à des cellules vides
- Logiciel de sauvegarde automatique gratuit - Guide
- Réponse automatique thunderbird - Guide
- Verrouiller des cellules excel - Guide
- Remettre a 0 un pc - Guide
- Formule excel pour additionner plusieurs cellules - Guide
1 réponse
Bonjour
Si j'ai compris, essaies ceci
Cdlmnt
Si j'ai compris, essaies ceci
' mettre à 0 les cellules vides des colonnes 4 à 8 ' des lignes 5 à i lorsque la cellule de la colonne 3 n'est pas vide Private Sub Worksheet_Change(ByVal Target As Range) ' si tu as bien mis le code dans le module de cette feuille, ceci est inutile 'Worksheets("Types de Portefeuilles").Select Dim i As Long, j As Long, k As Long i = Cells(1, 3).Value 'Nombre de lignes que compte mon fichier For j = i To 5 Step -1 If Cells(j, 1) <> "" Then For k = 4 To 8 If Cells(j, k) = "" Then Cells(j, k) = 0 Next k End If Next j End Sub
Cdlmnt