Gestion valeur = au début d'une cellule

Résolu
rodg45 Messages postés 7 Statut Membre -  
rodg45 Messages postés 7 Statut Membre -
Bonjour,

Je cherche à savoir comment je peux gérer la valeur = au début d'une cellule.

Explication de mon cas :
La mise à jour d'Excel ne peut se faire que par le formulaire, lors de la mise à jour du formulaire, l'utilisateur a saisi dans une textbox la valeur suivante : "= Date de réception".

Lors de l'enregistrement de cette valeur dans Excel, je n'ai aucun problème d'enregistrement la valeur = en début de cellule ne pose pas problème.

Ensuite, via une autre fonction, j'ai un script qui doit me permettre de faire varier X critères les uns en fonction des autres et créer plusieurs lignes qui vont contenir cette valeur "= Date de réception".

Lors de l’exécution de ce script, lorsque je veux enregistrer ma valeur sur ma feuille, le contenu de la cellule fait apparaître #NOM? et lorsque je veux exploiter le contenu de cette cellule, j'ai une incompatiblité de type car le contenu de ma cellule affiche dans le débogueur Erreur2029.

Avez-vous une astuce pour permettre l'utilisation de la valeur = en début de cellule ?

Merci d'avance pour votre aide.

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Saisie une apostrophe avant le = permet de l'écrire dans une cellule sans qu'il ne soit interprété comme le début d'une formule.
    0
    1. rodg45 Messages postés 7 Statut Membre
       
      Merci beaucoup pour cette réponse que je souhaite éviter, existe t'il une autre solution car ça m'oblige à changer la valeur de ma cellule et ça me gène un peu.
      0
    2. rodg45 Messages postés 7 Statut Membre
       
      De plus, après test d'ajout de l'apostrophe, lors de la lecture de la feuille, je ne récupère pas l'apostrophe ... ça ne change donc pas mon problème.
      0
    3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Sans voir ton code IMPOSSIBLE de te répondre
      0
  2. rodg45 Messages postés 7 Statut Membre
     
    Voila une partie du code

    'Boucle de recopie des Critères et valeurs, fonctionnement OK
    £Col = 13
    For £I = 1 To £NbCritere
        Feuil1.Cells(£LigLibMax, £Col + 1) = £TabCritere(£I, £TabIndice(0))
        £Critere = £TabCritere(£I, £TabIndice(£I))
        Feuil1.Cells(£LigLibMax, £Col + 2).Value = £Critere
        £Col = £Col + 2
    Next
    
    £TabIndice(£NbCritere) = £TabIndice(£NbCritere) + 1
    
    'Boucle de recherche d'un doublon pour savoir si l'on doit copier les critères valeurs
                UnControleFaux = False
                £Ligne = 7
                Do While Feuil1.Cells(£Ligne, 11) <> ""
                    If £TabCritere(1, £TabIndice(1)) = Feuil1.Cells(£Ligne, 15) And _
                       £TabCritere(2, £TabIndice(2)) = Feuil1.Cells(£Ligne, 17) And _
                       £TabCritere(3, £TabIndice(3)) = Feuil1.Cells(£Ligne, 19) And _
                       £TabCritere(4, £TabIndice(4)) = Feuil1.Cells(£Ligne, 21) And _
                       £TabCritere(5, £TabIndice(5)) = Feuil1.Cells(£Ligne, 23) And _
                       £TabCritere(6, £TabIndice(6)) = Feuil1.Cells(£Ligne, 25) And _
                       £TabCritere(7, £TabIndice(7)) = Feuil1.Cells(£Ligne, 27) And _
                       £TabCritere(8, £TabIndice(8)) = Feuil1.Cells(£Ligne, 29) And _
                       £TabCritere(9, £TabIndice(9)) = Feuil1.Cells(£Ligne, 31) And _
                       £TabCritere(10, £TabIndice(10)) = Feuil1.Cells(£Ligne, 33) Then
                                UnControleFaux = True
                                £Ligne = 50000
                    End If
                £Ligne = £Ligne + 1
                Loop
    

    ==> ça plante sur la comparaison car le contenu de Feuil1.Cells(£Ligne, 15) contient Erreur2029

    Merci pour ton aide

    EDIT : AJOUT DES BALISES DE CODE
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
       
      Lorsque tu écris (ou lis) les valeurs des cellules... penses à préciser : .value
      Par exemple :
        Feuil1.Cells(£LigLibMax, £Col + 1) = £TabCritere(£I, £TabIndice(0))
      

      A remplacer par :
        Feuil1.Cells(£LigLibMax, £Col + 1).value = £TabCritere(£I, £TabIndice(0))
      


      Ensuite... si tes valeurs commencent par le signe "=" ... mets une quote devant pour éviter que ça ne soit ensuite interprété comme un formule.
      Un truc du genre :

        Feuil1.Cells(£LigLibMax, £Col + 1).value =  "'" & £TabCritere(£I, £TabIndice(0))
      
      0
      1. rodg45 Messages postés 7 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Merci beaucoup, quand je rajoute la concaténation de mon critère par "'" &, ça fonctionne parfaitement et en plus, l’apostrophe n’apparaît pas dans le formulaire.
        0
      2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831 > rodg45 Messages postés 7 Statut Membre
         
        Comme je te l'avais dit dans ma réponse précédente .....

        Saisie une apostrophe avant le = permet de l'écrire dans une cellule sans qu'il ne soit interprété comme le début d'une formule


        voilou....


        PS: pense à mettre le sujet en RESOLU.
        0
      3. rodg45 Messages postés 7 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Le problème c'est que j'ajoutais l'apostrophe lors de l'enregistrement et je pensais que je pouvais récupérer la valeur tel que mais non, il faut également ajouter l'apostrophe lorsque l'on récupère la valeur.
        0