Gestion valeur = au début d'une cellule
Résolu
rodg45
Messages postés
7
Statut
Membre
-
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.
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
-
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.
-
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-
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))
-