Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Comment enlever ces listes de choix

pygocentus

XLDnaute Nouveau
Bonsoir,
Actuellement je travail sur un fichier dont j'ai en quelque sorte faiT un extrait (copier/coller pour les colonnes A et C ). Le problème est simple comment pourvoir faire des calculs ou tri à partir des cellules des colonnes A et C sans avoir des résultats aberrants comme en E2 et F2 et dans la colonne G. je pense que le problème vient des données récupérées dans les colonnes A et C qui propose des listes de choix. Le fichier original étant très volumineux je me vois mal retaper toutes les valeurs par cellules sachant qu'elles sont réactualisées quotidiennement. Merci pour vos lumières car moi je suis éteint, j'ai utilisé toutes mes allumettes
 

Pièces jointes

  • Extrait.xlsx
    9.6 KB · Affichages: 5
Solution
Comme il devra le faire à chaque import, j'ai copié sur vous et lui ai fait un fichier indépendant pour activer la macro par un raccourci sur la feuille concernée.
On ne pourra pas dire que les XLDnautes Nouveaux ne sont pas bien traités par les plus anciens !

Dudu2

XLDnaute Barbatruc
Bonsoir,
1 - Tes nombres n'en sont pas, c'est du texte.
2 - De plus le texte contient le signe "€".
3 - De plus le signe "€" est précédé d'un espace insécable qui ressemble à un espace mais qui n'en est pas un.
Alors c'est au niveau de la récup que quelque chose ne va pas et qu'il faudrait améliorer pour récupérer des valeurs numériques.

Sinon pour corriger ça sur ton fichier, perso je ne sais pas faire sauf à passer par des colonnes intermédiaires utilisant une formule du genre =CNUM(SUBSTITUE(C2;CAR(160)&"€";"")).
Puis:
  • Soit copier la colonne intermédiaire en valeur dans la colonne originale, et, s'il n'y est pas déjà, définir le bon format, monétaire s'il faut conserver les "€".

  • Soit faire les calculs directement sur les colonnes intermédiaires pour éviter les recopies.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pygocentrus, Dudu,
Un peu à labour ...
Dans la même idée que la première idée de Dudu, un essai en PJ avec deux nouvelles colonnes :
VB:
Ventes :
=CNUM(SUBSTITUE(SUBSTITUE(A2;",";"");" €";""))/100
Gains :
=CNUM(SUBSTITUE(SUBSTITUE(C2;",";"");" €";""))/100
Ratio :
=SIERREUR(G2/B2;"")

Deux autres idée :
1- Changer l'importation pour être compatible d' XL, si c'est possible.
2- traiter les données en VBA pour faire la conversion juste après l'importation.
 

Pièces jointes

  • Extrait (1).xlsx
    10 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Le même en macro. Il suffit d'appuyer sur le bouton pour convertir la page. Avec :
VB:
Sub Convertir()
    Dim T, i%
    T = [A1].CurrentRegion
    For i = 2 To UBound(T)
        T(i, 1) = Val(Replace(Replace(T(i, 1), ",", ""), " €", "")) / 100
        T(i, 3) = Val(Replace(Replace(T(i, 3), ",", ""), " €", "")) / 100
        If T(i, 2) <> 0 Then T(i, 6) = T(i, 3) / T(i, 2)
    Next i
    [A1].Resize(UBound(T, 1), UBound(T, 2)) = T
    [D2] = Application.Sum([A:A]): [E2] = Application.Sum([C:C])
End Sub
 

Pièces jointes

  • Extrait (1).xlsm
    16.9 KB · Affichages: 0

Dudu2

XLDnaute Barbatruc
Bonjour @job75,

En effet, ça le fait pour les formules Ratios mais pas pour les Sommes qu'il faut alors transformer en formules matricielles: =SOMME(A2:A9) -> {=SOMME(CNUM(A2:A9))}

Et ce xlPart, est-il bien utile ? Je ne vois pas qu'il soit cité dans la doc du Replace.
 

job75

XLDnaute Barbatruc
Avec la solution précédente les colonnes A et C restent des textes.

Pour y remédier :
VB:
Sub Convertir()
Dim ncol%, tablo, i&, j%, v
ncol = 3
With [A1].CurrentRegion.Resize(, ncol)
    tablo = .Resize(, ncol)
    For i = 1 To UBound(tablo)
        For j = 1 To ncol
            v = Replace(tablo(i, j), Chr(160) & "€", "")
            If IsNumeric(v) Then tablo(i, j) = CDbl(v)
    Next j, i
    .Value = tablo
End With
End Sub
 

Pièces jointes

  • Extrait(1).xlsm
    19.2 KB · Affichages: 0

Dudu2

XLDnaute Barbatruc
Comme il devra le faire à chaque import, j'ai copié sur vous et lui ai fait un fichier indépendant pour activer la macro par un raccourci sur la feuille concernée.
On ne pourra pas dire que les XLDnautes Nouveaux ne sont pas bien traités par les plus anciens !
 

Pièces jointes

  • Traiter Feuille.xlsm
    22.9 KB · Affichages: 5

pygocentus

XLDnaute Nouveau
 

pygocentus

XLDnaute Nouveau
Merci à tous pour votre contribution et au champion dudu il a juste fallu que je remplace les espaces insécables par des espaces normaux avec un rechercher remplacer et t tout fonctionne bien depuis. je pense que je vais faire une macro comme ça je serai tranquille pour la suite. Encore mille fois merci pour votre aide. Juste une petite question au passage comment Dudu a repéré les espaces insécables ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…