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 :

is not empty erroer =>


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 25
    Points : 13
    Points
    13
    Par défaut is not empty erroer =>
    Bonjour,

    Je rencontre un pb lors du lancement de ma macro qui copy les données non vides.
    En effet, ça beugge quand elle rencontre une cellule contenant des textes commençant par =>.

    Pourriez-vous m'aider comment je peux contourner ce pb, SVP.

    Merci par avance pour votre aide.

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    ' Mitigation Action  1
            If (s.Range("S1").Offset(i) <> "" And s.Range("K1").Offset(i) <> "N/A") Then
                      'Creation of the new Id which merges the year of the Incident and the old Id
                      annee = Year(s.Range("H1").Offset(i).Value)
                      Id = s.Range("B1").Offset(i).Value
                      S2.Range("A7").Offset(j).Value = annee & "-" & Id
                      S2.Range("B7").Offset(j).Value = s.Range("H1").Offset(i).Value
                      S2.Range("C7").Offset(j).Value = s.Range("C1").Offset(i).Value
                      S2.Range("D7").Offset(j).Value = s.Range("D1").Offset(i).Value
                      S2.Range("E7").Offset(j).Value = s.Range("M1").Offset(i).Value
                      S2.Range("F7").Offset(j).Value = s.Range("S1").Offset(i).Value
                      S2.Range("G7").Offset(j).Value = "Mitigation"
                      S2.Range("h7").Offset(j).Value = s.Range("T1").Offset(i).Value
                      S2.Range("i7").Offset(j).Value = s.Range("U1").Offset(i).Value
                      S2.Range("j7").Offset(j).Value = s.Range("V1").Offset(i).Value
                      S2.Range("k7").Offset(j).Value = s.Range("X1").Offset(i).Value
                      S2.Range("l7").Offset(j).Value = s.Range("W1").Offset(i).Value
                      S2.Range("m7").Offset(j).Value = s.Range("Y1").Offset(i).Value
                      S2.Range("o7").Offset(j).Value = s.Range("O1").Offset(i).Value
                      S2.Range("p7").Offset(j).Value = s.Range("G1").Offset(i).Value
     
                  j = j + 1
     
              End If
    J'ai essayé avec 2 possibilités:
    is not empty et <>""

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     If (Not (IsEmpty(s.Range("BP1").Offset(i))) And (s.Range("K1").Offset(i) = "completed" Or s.Range("K1").Offset(i) = "to be done")) Then
     
            annee = Year(s.Range("H1").Offset(i).Value)
            Id = s.Range("B1").Offset(i).Value
     
            S2.Range("A7").Offset(j).Value = annee & "-" & Id
            S2.Range("B7").Offset(j).Value = s.Range("H1").Offset(i).Value
            S2.Range("C7").Offset(j).Value = s.Range("C1").Offset(i).Value
            S2.Range("D7").Offset(j).Value = s.Range("D1").Offset(i).Value
            S2.Range("E7").Offset(j).Value = s.Range("M1").Offset(i).Value
            S2.Range("F7").Offset(j).Value = s.Range("bp1").Offset(i).Value
            S2.Range("G7").Offset(j).Value = "Regularisation"
     
            S2.Range("h7").Offset(j).Value = s.Range("bq1").Offset(i).Value
            S2.Range("i7").Offset(j).Value = s.Range("br1").Offset(i).Value
            S2.Range("j7").Offset(j).Value = s.Range("bs1").Offset(i).Value
            S2.Range("k7").Offset(j).Value = s.Range("bu1").Offset(i).Value
            S2.Range("l7").Offset(j).Value = s.Range("bt1").Offset(i).Value
            S2.Range("m7").Offset(j).Value = s.Range("bv1").Offset(i).Value
            S2.Range("o7").Offset(j).Value = s.Range("O1").Offset(i).Value
            S2.Range("p7").Offset(j).Value = s.Range("G1").Offset(i).Value
     
     
                j = j + 1
     
            End If

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    comment peux comparer dans le même test ce qui est en rouge si c'est Empty c'est Empty? non?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Not (IsEmpty(s.Range("BP1").Offset(i))) And (s.Range("K1").Offset(i) = "completed" Or s.Range("K1").Offset(i) = "to be done")) Then
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If  trim("" & s.Range("BP1").Offset(i))<>""  and (Trim("" & s.Range("K1").Offset(i)) = "completed" Or Trim("" & s.Range("K1").Offset(i)) = "to be done") Then

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Je comprends pas ta question tram est supposé à enlever l'espace vide qui est devant un texte? le mien beugge quand il ça commence par un le caractère "=". Trim enleve aussi ça? Merci pour votre aide.

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est une astuce je transforme les empty en ""

    et si il y a des espaces qui se baladent!
    Dernière modification par AlainTech ; 14/09/2014 à 04h50. Motif: Suppression de la citation inutile

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Points : 484
    Points
    484
    Par défaut
    Bonjour,

    ça aurait été bien que tu donnes le détail de l'erreur obtenue et la ligne correspondante dans ton code car ton problème ne semble pas avoir grand chose à voir avec Empty / Not Empty.

    En général, pour saisir => dans une cellule, il y a plusieurs manières de faire :
    1- saisir directement '=>
    2- coller le texte => dans la cellule
    3- faire référence à une autre cellule qui contient elle-même =>
    4- définir la cellule au format Texte

    Dans tous les cas ton code plante (sauf si la cellule destination est au format Texte) car Excel tente d'interpréter tout contenu commençant par "=" comme une formule.

    Si lorsque tu visualises le contenu de la cellule, il y a '=> (=> précédé du caractère '), le plus simple est de remplacer dans ton code les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S2.Range("xx").Offset(j).Value = s.Range("yy").Offset(i).Value
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S2.Range("xx").Offset(j).Value = s.Range("yy").Offset(i).PrefixCharacter & s.Range("yy").Offset(i).Value
    Sinon, il va falloir tester la valeur avant de la manipuler (pour rajouter si besoin le caractère " ' " avant la valeur), ou mettre la cellule destination au format texte ou procéder par copier/coller valeurs.

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 25
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup pour vos réponses.

    En effet, mon problème est que j'ai des celules commençant par => (extraction de sharepoint). Du coup, comme ça commence par un =, quand je veux copier la valuer, ça affiche "erreur d'éxecution 1004; erreur definie par l'appliacation" .

    Est-ce qu'il y a un moyen de supprimer => qui est au début d'une cellule texte?

Discussions similaires

  1. fuse:mountpoint is not empty
    Par fhbcrea dans le forum Linux
    Réponses: 3
    Dernier message: 15/04/2013, 12h38
  2. Project Folder already exists and is not empty
    Par fcboumi13 dans le forum Android
    Réponses: 2
    Dernier message: 03/05/2012, 12h58
  3. Message d'erreur directory not empty
    Par le69 dans le forum Langage
    Réponses: 9
    Dernier message: 26/05/2006, 18h04
  4. Component not found
    Par Pm dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 14h40
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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