Convertir valeur Null en 0

Bonjour à tous,

Petit problème, je vous explique :

J'extrait des données via un logiciel sur Excel, mon tableau fais environ un millier de lignes, en revanche j'ai plusieurs variables qui valent "null" et j'aimerai les convertir pour qu'elle soient égales à 0.

J'ai deux trois pistes notamment avec IsNull et avec NZ mais je sais pas trop comment les utiliser.

Je vous remercie d'avance

peux-tu envoyer un extrait significatif de ton fichier

Bonjour,

Pour chaque cellule, toute cellule Null devient 0 :

For i = 1 To [ligneMax de ta plage]

For j = 1 To [ColonneMax de ta plage]

If Cell(i,j) IsNull Then

Cell(i,j) = 0

End If

Next

Next

À tester. Ma première reponse sur ce forum.

Oui bien sur

77classeur1.xlsx (10.14 Ko)

Merci pour ta réponse attend mais j'ai un message qui me dit que la fonction If n'est pas correcte

Tu as bien mis ce code dans une Sub d'un module ?

Peut être l'utilisation de IsNull n'est pas bonne. Car une condition If est ce qu'il y a de plus basique je ne vois pas comment elle pourrait ne pas marcher.

Bonjour,

ce n'est pas la constante Null que tu as, mais la chaine "Null".

Pourquoi coller tes données au milieu de la feuille ? Pour compliquer inutilement ? Fait avec tes données à partir de A1 :

Sub suppNull()
    Const nul As String = "Null"
    Dim datas, lig As Long, col As Long
    datas = [A1].CurrentRegion.Value
    For lig = 1 To UBound(datas, 1)
        For col = 1 To UBound(datas, 2)
            If datas(lig, col) = nul Then datas(lig, col) = 0
        Next col
    Next lig
    [A1].Resize(UBound(datas, 1), UBound(datas, 2)) = datas
End Sub

eric

Edit : plus simple finalement :

Cells.Replace What:="Null", Replacement:=0, LookAt:=xlWhole

en fait Null est du texte

Public Sub convertir()

Dim dernier_ligne As Long

Dim derniere_colonne As Long

Dim parcours_ligne As Long

Dim parcours_colonne As Long

derniere_ligne = Feuil1.Cells(Columns(2).Cells.Count, 2).End(xlUp).Row

derniere_colonne = Feuil1.Cells(5, Cells.Columns.Count).End(xlToLeft).Column

For parcours_ligne = 1 To derniere_ligne

For parcours_colonne = 1 To derniere_colonne

If Feuil1.Cells(parcours_ligne, parcours_colonne) = "Null" Then

Feuil1.Cells(parcours_ligne, parcours_colonne) = 0

End If

Next parcours_colonne

Next parcours_ligne

End Sub

11cellule-null.xlsm (17.37 Ko)

Merci Gullaud, j'ai adapté ton code à on fichier il marche niquel !!

Merci beaucoup pour vos réponses

Cordialement

Rechercher des sujets similaires à "convertir valeur null"