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

Macros et VBA Excel Discussion :

Erreur sur chaine vide [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administratif
    Inscrit en
    Septembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2023
    Messages : 3
    Par défaut Erreur sur chaine vide
    Bonjour,
    j'ai un dossier XLsm avec Macros que j'ai récupéré et modifié pour satisfaire mes besoins. Mais je serais bien incapable de reproduire toutes les macros qu'il contient tellement c'est complexe à base de bibliothèques et autres.

    Dans l'une de mes modifications sur le tableau excel, afin d'éviter d'avoir des 0 partout dans ma base de données j'ai rajouté une formule du type
    =SI(AG9="";AC9;AG9)
    . La case AC9 étant elle meme le résultat d'une formule équivalente. Si rien n'est saisie ailleurs, tu affiches rien, sinon tu affiches la case. Car pour AC9 si je mets un simple =AI9 et que AI9 est vide, alors AC9 affiche 0, ce que je souhaite éviter.
    Or, lorsque la macro va sur cette case avec la formule indiquée, elle bloque ne reconnaissant pas la chaine vide lorsqu'aucune valeur n'est saisie.

    Donc la question : y a til un moyen que la macro reconnaisse une chaine vide dans la case comme un 0, sans que le 0 soit affiché ? Ou comment affecter la valeur 0 à la case en sortie de la formule sans l'afficher ?
    merci

    ps : je ne peux pas joindre le fichier, la base de données est pleine.

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Salut, dans ta macro, au lieu de tester directement si la cellule est vide avec = 0, utilise une variable comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If IsEmpty(Range("AC9").Value) Or Range("AC9").Value = "" Then
        valeur = 0
    Else
        valeur = Range("AC9").Value
    End If

  3. #3
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 308
    Par défaut
    Hello,

    pour "éviter d'avoir des 0 partout dans ma base de données" il suffit de décocher Afficher un zéro dans les cellules qui ont une valeur nulle
    Nom : 2025-03-04_13-02-33.png
Affichages : 101
Taille : 31,0 Ko

    Autre solution, mettre un format de nombre "0;-0;;" (sans les ")

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Administratif
    Inscrit en
    Septembre 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Administratif
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2023
    Messages : 3
    Par défaut
    Citation Envoyé par Nain porte koi Voir le message
    Hello,

    pour "éviter d'avoir des 0 partout dans ma base de données" il suffit de décocher Afficher un zéro dans les cellules qui ont une valeur nulle
    Nom : 2025-03-04_13-02-33.png
Affichages : 101
Taille : 31,0 Ko

    Autre solution, mettre un format de nombre "0;-0;;" (sans les ")

    Je ne peux pas modifier le format, mes données sont des heures en [h]:mm

    le seul fait de mettre des 0 et de ne pas afficher fonctionne. La solution est si simple. Super. Merci a tous pour vos aides.
    Je ne connaissais pas cette option.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WB20] Erreur sur chaine ANSI
    Par mimi1255 dans le forum WebDev
    Réponses: 1
    Dernier message: 30/08/2015, 23h55
  2. Erreur sur chaîne de caractères
    Par Masmeta dans le forum C++/CLI
    Réponses: 5
    Dernier message: 23/04/2013, 18h43
  3. [Toutes versions] Erreur sur fichier "vide"
    Par m@tix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/07/2011, 17h54
  4. erreur sur chaine
    Par ptinavir dans le forum Langage
    Réponses: 6
    Dernier message: 20/10/2010, 17h07
  5. Erreur : Le champ ne peut pas être une chaîne vide
    Par supertoms dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/04/2008, 08h05

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