modifier une plage de cellule par rapport un seuil

noir_desir

XLDnaute Junior
Bonjour à tous et toutes.

J'ai eu un soucis d'exportation lors de la création d'un fichier de mesure. En effet, mes valeur supérieurs à un 1 ou inférieur à 1 se sont retrouvé en entier.

Par exemple 1.55554588 c'est retrouvé en 155554588. Je dois donc changer chaque de ces cases dans mes 3 plages (se situant en A,B,C,D).

Ca fait un bail que je n'ai pas fait de vba, du coup, je me retrouve un peu perdu, et je ne vois pas trop comment utiliser sinon la mise en forme conditionnel.

Voilà, merci à tous et toutes de l'aide que vous pourrez m'apporter dans cette tâche.
 

ERIC S

XLDnaute Barbatruc
Re : modifier une plage de cellule par rapport un seuil

Bonjour
un exemple de fichier serait le bienvenu (excel, voire fichier de données d'export).
Que veux-tu faire ? modifier les valeurs ou ??? (tu parles de mise en forme conditionnelle, ce qui ne correspond pas...)
Comment distinguer 1,23 de 12,3 si tu veux remettre les virgules ?

est-ce un problème d'export ou un problème d'interprétation du point lors de l'import sous excel ?

edit : bonjour Mutzik
 

noir_desir

XLDnaute Junior
Re : modifier une plage de cellule par rapport un seuil

En faites, lorsque j'ai crée un rapport via labview.
Les données ont été transformées, les valeurs inférieurs à -1 et supérieur et 1 ont été transformée. Seule les valeurs en 0,xxxx n'ont pas été modifié.
Celle-ci ne sont pas contenue au même endroit dans mes lignes (surtout que j'ai prés de 50000 lignes). Donc pour les distinguées, cela me parait assez simple toutes les valeurs sup et inférieur à 1 et -1 sont a retransformés en remettant la virgules (je ne peux pas avoir de valeur supérieur à 10 ou -10) ce qui enlevé le soucis éventuelles des 10,5 qui pourrait être un 1,5.

Dans le bout de tableau que je donne, le soucis est présent dans la case trigger, normalement la valeur est de -1 ,206 055 hors j'ai un -1 206 055, les autres valeurs en 0,xxx sont bonnes.

Pour la mise en forme condtionnelle, je pense que je ne peux pas l'utiliser (ou alors je ne vois pas comment).
Quand à la un écrasement avec une plage ce n'est pas possible, le fichier étant un relevé de mesures, je n'ai pas d'idée spécialement se trouve les points qui ont été modifiés.
 

Pièces jointes

  • essai complet 1,9reduit.xlsx
    10 KB · Affichages: 39
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : modifier une plage de cellule par rapport un seuil

Re

formule à essayer

=SI(OU( B2>=1;B2<=-1);B2/(CNUM("1" & REPT("0";NBCAR(ABS(B2))-1)));B2)

à noter qu'avec labview il faudrait que tu vérifies la possibilité de ne pas considérer la virgule comme identificateur de millier dans ton export
 

noir_desir

XLDnaute Junior
Re : modifier une plage de cellule par rapport un seuil

Il exporte au format excel directement. Mais il doit se planter dans ses macros.
Sinon j'ai essayé la formule, elle a bien fonctionné pour la colonne trigger mais pour la colonne jauge, elle a transformé par exemple 0.004833 en 4833*10^-10.

Oublie du - dans la puissance.
 
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : modifier une plage de cellule par rapport un seuil

Bonjour

il n'y a pas de . dans ton exemple

sinon sur les forums labview ils conseillent de passer ta colonne en texte à l'export, en remplaçant alors le . par ,
ou bien de mettre tes données sous format exposant
 

noir_desir

XLDnaute Junior
Re : modifier une plage de cellule par rapport un seuil

En faites, moi j'envoie mes données au format texte, l'entrée est polymorphe, elle doit fonctionner pour du texte ou du nombre enfin logiquement. Mais je pense que c'est dans sa programme (enfin son activeX) qui doit y avoir une sucette, qui fait qu'il modifie les nombres que je lui ai donné en parametre.
 

noir_desir

XLDnaute Junior
Re : modifier une plage de cellule par rapport un seuil

Hum, en faites le logiciel en question génère le fichier excel de long en large (il l'ouvre, crée les feuilles du classeur, les nomment, met les données et les mets en forme). C'est la mise en forme qui génèrent des erreurs de format. Je vais reprendre le programme pour corriger les erreurs, mais j'ai 4 ou 5 fichiers à remettre à niveau car les données récupérer sont erronées.
 

noir_desir

XLDnaute Junior
Re : modifier une plage de cellule par rapport un seuil

Coucou
Du coup, je suis passé par une macro.

La voila :
Code:
Sub test()
Dim Tablo()
Dim Plage As Range, Cel As Range
    With Worksheets("Relevé")
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationManual
        Set Plage = .Range("A2:D" & Range("A" & Rows.Count).End(xlUp).Row)
        Tablo = Plage
        For i = 1 To UBound(Tablo, 1)
            For j = 1 To UBound(Tablo, 2)
                If Abs(Tablo(i, j)) >= 10 Then Tablo(i, j) = Tablo(i, j) / 10 ^ (Len(Abs(Tablo(i, j))) - 1)
            Next j
        Next i
         .Range("A2").Resize(UBound(Tablo, 1), UBound(Tablo, 2)) = Tablo
        Application.Calculation = xlCalculationAutomatic
        Application.ScreenUpdating = True
    End With
End Sub
merci à tous pour votre aide
 

Discussions similaires

Réponses
10
Affichages
566