Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion itombof
  • 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 !

I

itombof

Guest
BONJOUR JE CHERCHE à EXECUTER un code afin d'avoir la vrai valeur en euro quand le code est "15" et la devise est en "USD". donc dans la cellule F7 j'aurai
=C7/E7 = 838,71


Code Type ValoEuro Devise txchangedi vrai valeur en euro
3690 VAL 25311 JPY 108,95
3690 VAL 21445 EUR 1
72 CHG 17820 EUR 1
72 VAL -13931 CHF 1,3869
72 VAL 134 DKK 7,4376
15 CHG 1000 USD 1,1923 838,71




j'utilise cette macro qui n'est pas du tout efficace:
Sub Macro1()

Cells.Select
Selection.Find(What:="15", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
Selection.Find(What:="CHG", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
Range("F7").Select

ActiveCell.FormulaR1C1 = "=RC[-3]/RC[-1]"

End Sub



SINON J'AI éCRIT 2 CODES DIFFéRENTS MAIS NE FONCTIONNE TOUJOURS PAS CAR LE DéCALLAGE SE FAIT TOUJours à gauche et ne s'arrete jamais. que faut il faire? merci d'avance....


Sub valeurEuro2()

Dim LIGNE As Long
LIGNE = [a2].End(xlDown).Row

Range(Cells(LIGNE, 1), Cells(LIGNE, 6)).Select
For I = 1 To LIGNE
If ActiveSheet.Cells(LIGNE, 1).Value = 15 And ActiveSheet.Cells(LIGNE, 2).Value = "CHG" Then
ActiveCell.Select
ActiveCell.Offset(0, 5).Select
ActiveCell.FormulaR1C1 = "=RC[-3]/RC[-1]"
ActiveCell.Offset(1, -5).Select
End If

Next I

End Sub




Sub valeurEuro()

Dim LIGNE As Long
LIGNE = [a2].End(xlDown).Row
Cells(LIGNE, 1).Activate
Set area = Range(Cells(LIGNE, 1), Cells(LIGNE, 6))
For Each c In area
If ActiveSheet.Cells(LIGNE, 1).Value = 15 And ActiveSheet.Cells(LIGNE, 2).Value = "CHG" Then
ActiveCell.Select
ActiveCell.Offset(0, 5).Select
ActiveCell.FormulaR1C1 = "=RC[-3]/RC[-1]"
End If

Next

End Sub
 
Re : bug code vba

Bonsoir itombof le forum
j'ai fait une fausse manip et j'ai perdu le fichier que tu n'as pas mis!!
si tu pouvais le renvoyer ( avec des explications dedans merci pour nous tous)
a+
papou 🙂
 
Re : bug code vba

alors revoila mon souci (car tu as perdu le fichier)

JE CHERCHE à EXECUTER un code afin d'avoir la vrai valeur en euro si et seulement si le code est "15" et la devise est en "USD".
donc dans la cellule F7 j'aurai: =C7/E7 = 838,71



Code Type ValoEuro Devise txchangedi vrai valeur en euro
3690 VAL 25311 JPY 108,95
3690 VAL 21445 EUR 1
72 CHG 17820 EUR 1
72 VAL -13931 CHF 1,3869
72 VAL 134 DKK 7,4376
15 CHG 1000 USD 1,1923 838,71




j'utilise cette macro qui n'est pas du tout efficace:
Sub Macro1()

Cells.Select
Selection.Find(What:="15", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False).Activate
Selection.Find(What:="CHG", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
Range("F7").Select

ActiveCell.FormulaR1C1 = "=RC[-3]/RC[-1]"

End Sub



SINON J'AI éCRIT 2 CODES DIFFéRENTS MAIS NE FONCTIONNE TOUJOURS PAS CAR LE DéCALLAGE SE FAIT TOUJours à gauche et ne s'arrete jamais. que faut il faire? merci d'avance....


Sub valeurEuro2()

Dim LIGNE As Long
LIGNE = [a2].End(xlDown).Row

Range(Cells(LIGNE, 1), Cells(LIGNE, 6)).Select
For I = 1 To LIGNE
If ActiveSheet.Cells(LIGNE, 1).Value = 15 And ActiveSheet.Cells(LIGNE, 2).Value = "CHG" Then
ActiveCell.Select
ActiveCell.Offset(0, 5).Select
ActiveCell.FormulaR1C1 = "=RC[-3]/RC[-1]"
ActiveCell.Offset(1, -5).Select
End If

Next I

End Sub




Sub valeurEuro()

Dim LIGNE As Long
LIGNE = [a2].End(xlDown).Row
Cells(LIGNE, 1).Activate
Set area = Range(Cells(LIGNE, 1), Cells(LIGNE, 6))
For Each c In area
If ActiveSheet.Cells(LIGNE, 1).Value = 15 And ActiveSheet.Cells(LIGNE, 2).Value = "CHG" Then
ActiveCell.Select
ActiveCell.Offset(0, 5).Select
ActiveCell.FormulaR1C1 = "=RC[-3]/RC[-1]"
End If

Next

End Sub
 
Re : bug code vba

Re Bonsoir itombof le forum
Je n'ai pas dis que j'avais perdu le post que tu as envoyé, non lui ta demande tu l'as bien envoyé, mais le fichier que tu n'as pas joint à ton post!!!!
Tu balances un code et l'exemple il faut que nous le fassions pour toi ?
a+
papou 🙂
 
Re : bug code vba

salut paritec
aaaaah je me suis mal exprimé alors...le fichier n'est en effet pas joint, mais l'exemple est bien là:



Code Type ValoEuro Devise txchangedi vrai valeur en euro
3690 VAL 25311 JPY 108,95
3690 VAL 21445 EUR 1
72 CHG 17820 EUR 1
72 VAL -13931 CHF 1,3869
72 VAL 134 DKK 7,4376
15 CHG 1000 USD 1,1923 838,71 838,71



je suis désolé de cette version (pas très lisible), mais dès aue j'arrive chez moi j'enoie la version excellll
:0)
 
- 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

Réponses
1
Affichages
323
Réponses
2
Affichages
526
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
449
Réponses
2
Affichages
768
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…