• Initiateur de la discussion Initiateur de la discussion steph
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

steph

Guest
Bonjour forum,

Voici mon probleme: j' 4 colonnes A, B, C et D, cette derniere etant fonction des 3 1eres.
Je voudrai 'guerir' certaines cellules de ma colonne D qui m'affiche des messages d'erreur en changeant les valeurs de ma colonne B.
Je voudrai connaitre la valeur la plus proche possible de B100 par ex. pour que D100 ne soit plus #nombre#.

Je vous joint un fichier pour plus de clarte.
Merci pour tous les renseignements que vous pourrez m'apporter. [file name=forum_20050524175142.zip size=9572]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/forum_20050524175142.zip[/file]
 

Pièces jointes

Bonjour steph

Je ne suis pas expext en math, mais ce que j,ai trouvé pour ton problème, c'est que la valeur que la fonction ASIN doit calculer doit être entre -1 et 1 selon l'aide ds Excel. Ce qui n'est pas le cas ds les cellules ou tu as des erreurs.

B)
 
Bonjour philippe,

Tu as tout a fait raison, ma colonne D ASIN(>1) me renvoie des non-valeurs. C'est pour ca que j'aimerai reduire ce nombre de >1 a <1 en ne jouant que sur la colonne B.
Comment automatiser une macro (ou autre chose) pour que je puisse trouver la valeur B.. a partir de laquelle j'obtienne: D ASIN(<1).
Je peux le faire par diminution successive a chaque celllule mais j'en ai enormement...
Il faudrait que je trouve une formle du type: tant que cellule D pas de nombre, je diminue valeur B et cela appliquable a toute la colonne.
Pas evident...
 
Bonjour steph

Je ne sais pas si tu es habitué avec les macros ,mais voici ce qui va faire l'affaire. C'est un peu simplet, mais comme ont dit ça fait la job.

En gros lorsque la macro trouve une cellule qui a une eereur ds la colonne d, elle commence a soustraire 0.001 a la valeur de la cellule de la meme ligne en colonne B jusqu'à ce qu'il n'y est plus de valeur erreur en D.

Code:
Application.ScreenUpdating = False
   For Each cell In Range(Cells(6, 4), Cells(Cells(65536, 4).End(xlUp).Row, 4))
        With cell
        While CStr(cell) = 'Erreur 2036'
              Cells(.Row, 2) = Cells(.Row, 2) - 0.001
              Application.StatusBar = 'Ligne ' & .Row & '    Valeur ---> ' & Cells(.Row, 2)
        Wend
        End With
   Next cell

Si tu trouve ça trop long tu peux augmenter le pas de soustraction.

Message édité par: Hellboy, à: 24/05/2005 19:36
 
Merci Philippe,


Ta macro est impeccable...ca fonctionne bien!!
Une petite question subsidiaire:
Qe faudrait-il changer a la macro pour que elle ne me baisse pas les valeur de 0.001 petit a petit mais qu'elle aille chercher successivement x+0.1, x-0.1,x+0.2,x-0.2...et ainsi de suite...
Si il faut reconstruire la macro ce n'est pas la peine mais c juste au cas ou des valeurs superieures atteindraient une cible avant les valeurs inferieures....
Merci beaucoup en tout cas...
Bonne soiree!
 
Bonjour steph

Voici ce qu'il faudrait faire 😉
Code:
Application.ScreenUpdating = False
   For Each cell In Range(Cells(6, 4), Cells(Cells(65536, 4).End(xlUp).Row, 4))
        With cell
        Inc = 0.1
        Do Until CStr(cell) <> 'Erreur 2036'
              Cells(.Row, 2) = Cells(.Row, 2) - Inc
              Application.StatusBar = 'Ligne ' & .Row & '    Valeur ---> ' & Cells(.Row, 2)
              If CStr(cell) = 'Erreur 2036' Then
                 Cells(.Row, 2) = Cells(.Row, 2) + (Inc * 2)
                 If CStr(cell) = 'Erreur 2036' Then
                    Cells(.Row, 2) = Cells(.Row, 2) - Inc
                    Application.StatusBar = 'Ligne ' & .Row & '    Valeur ---> ' & Cells(.Row, 2)
                 Else
                    Exit Do
                 End If
              Else
                 Exit Do
              End If
              Inc = Inc + 0.01
        Loop
        End With
   Next cell

Au plaisir !
 
Salut Philippe,

Un petit probleme de compilation est venu entacher cette belle macro:
le FALSE du debut: Instruction incorrecte a l'exterieure d'une procedure....j'ai essaye de changer qques trucs mais bon, ca n'a pas servi a grand chose!
Comment regler ce probleme?...
Bonne soiree a toi
 
Bonsoir stef et forum

Je ne comprend pas, moi ça marche super bien.

Je t'envois le fichier avec la macro et tu m'en donne des nouvelles. Si tu as encore des prob. dis moi a quel endroit s'arrete le code s.v.p

merci! [file name=forum_2.zip size=15198]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/forum_2.zip[/file]

Message édité par: Hellboy, à: 26/05/2005 21:54
 

Pièces jointes

Salut Philippe,

Je suis quelque peu trouble par le fait que ta macro marche...et en regardant de plus pres, je crois que mon ordi plante car je n'arrive meme pas a refaire marcher ton ancienne macro...Peux tu regarder le fichier que je t'envoies et me dire si ton application n'as pas de souci sur celui-ci...?
J'ai du mal a comprendre....je reregarde, si tu peux voir un souci...?
Merci d'avance...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
3
Affichages
4 K
_matt_44
M
L
Réponses
5
Affichages
3 K
D
Réponses
7
Affichages
1 K
D
D
Réponses
3
Affichages
1 K
D
P
Réponses
0
Affichages
995
pascal
P
Réponses
1
Affichages
1 K
Réponses
5
Affichages
2 K
denis
D
E
Réponses
8
Affichages
2 K
P
Réponses
1
Affichages
2 K
Pierrot93
P
D
Réponses
3
Affichages
1 K
A
Réponses
4
Affichages
1 K
S
Réponses
3
Affichages
932
L
  • Question Question
Réponses
12
Affichages
1 K
Luc72
L
E
Réponses
1
Affichages
866
Réponses
1
Affichages
1 K
A
D
  • Question Question
Réponses
5
Affichages
1 K
damien
D
Retour