Je me retrouve dans un cas de figure assez particulier,
Effectivement, pour des raison professionnelle je suis obligé de passer par Excel 365 online, ce qui déjà me contraint au niveau de plusieurs options qui sont présentes dans la version app.
Concernant mon problème,
les données de ma feuille de calcul proviennent d'un office Forms. Dans cet office Forms il y a une question à choix qui définie plusieurs tarifs.
Lorsque les données sont collectées par Excel ce tarif est transformé en texte nombre ( c'est à dire que sur la cellule on voit le nombre normal, mais lorsqu'on clique dessus on peut voir dans la barre de formule qu'une apostrophe a été ajoutée précédant les chiffres. )
Il faut savoir que même si je paramètre la colonne correspondante en nombre ou en comptabilité, il ne se passe rien, car chaque cellule contient cet apostrophe.
Mon problème étant que je récupère par la suite cette colonne dans un tableau croisé dynamique pour en faire la somme ( hors vous l'aurez compris, ces nombres étant considérés comme du texte, mon TDC reste à 0 ).
Et il faut savoir qu'il faudrait que cette colonne soit automatisée, car les données récoltées ne sont pas fixe ( des lignes doivent s'ajouter par la suite ).
Dans la feuille d'exemple vous pourrez constater que lorsque je lève manuellement cet apostrophe dans la cellule, le paramètrage de la colonne fonctionne correctement.
Mais je ne peux pas le faire pour chaque cellule individuellement pour une raison de temps.
J'ai tenté de passer par rechercher/remplacer mais il ne détecte pas l’apostrophe dans ces cellules.
Peut-être existe-il un script qui pourrait automatiser cet action de suppression d'apostrophe ?
Cela fait déjà une semaine que suis bloqué la dessus, toutes aides seraient la bienvenue.
Mille Mercis.
effectivement j'ai aussi eu ce problème récemment:
l'appostrophe est visible, mais non détectable par excel
pour en etre sur, j'ai tapé : =gauche (I2;1) ==> ce qui me retourne le premier chiffre...
j'ai "contourné" le pb sans en connaitre la cause réelle..
Un essai avec ce code
1) remplace la virgule par le separateur numérique défini sur le pavé numérique
(chez moi, ca remplace la virgule par le .
2) ensuite MET un format nombre
VB:
Sub Macro1()
'
Range("Tableau2[Prix formation]").Select
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.NumberFormat = "#0.00"
End Sub
La macro suivante supprime les PrefixCharacter des cellules.
VB:
Sub DePrefixer()
Dim c As Range
For Each c In ThisWorkbook.Sheets("Formulaire-Inscription").Range("Tableau2[Prix formation]").Cells
If c.PrefixCharacter <> "" And (IsDate(c.Text) Or IsNumeric(c.Text)) Then c.Value = CDbl("" & c.Text)
Next
End Sub
effectivement j'ai aussi eu ce problème récemment:
l'appostrophe est visible, mais non détectable par excel
pour en etre sur, j'ai tapé : =gauche (I2;1) ==> ce qui me retourne le premier chiffre...
j'ai "contourné" le pb sans en connaitre la cause réelle..
Un essai avec ce code
1) remplace la virgule par le separateur numérique défini sur le pavé numérique
(chez moi, ca remplace la virgule par le .
2) ensuite MET un format nombre
VB:
Sub Macro1()
'
Range("Tableau2[Prix formation]").Select
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.NumberFormat = "#0.00"
End Sub
La macro suivante supprime les PrefixCharacter des cellules.
VB:
Sub DePrefixer()
Dim c As Range
For Each c In ThisWorkbook.Sheets("Formulaire-Inscription").Range("Tableau2[Prix formation]").Cells
If c.PrefixCharacter <> "" And (IsDate(c.Text) Or IsNumeric(c.Text)) Then c.Value = CDbl("" & c.Text)
Next
End Sub