Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TVA

19 réponses
Avatar
pb
Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent aussi
En clair je voudrais par exmple entrer une marge en % et les autres cellules
se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value = Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value = Range("Prix_d_achat_HT").Value *
Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value - Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal

9 réponses

1 2
Avatar
Daniel.C
La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de news:
%
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de news:

Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent aussi
En clair je voudrais par exmple entrer une marge en % et les autres
cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal




























Avatar
pb
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de
news: %
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal
































Avatar
pb
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de
news: %
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal
































Avatar
pb
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de
news: %
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal
































Avatar
pb
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de
news: %
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal
































Avatar
pb
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de
news: %
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal
































Avatar
pb
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de
news: %
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal
































Avatar
Daniel.C
A tout hasard, remplace :
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub

par :
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 Then
Exit Sub
If Application.IsEven(Target.Row) Then Exit Sub
(exit sub doit se trouver sur la même ligne que la précédente)
Daniel

Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





"Daniel.C" a écrit dans le message de news:

La ligne doit se terminer par un "_" :
...Or Target.Row > 13 _
Daniel
Oui c'est celle ci
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13
Je cherche dans l'aide je ne trouve pas

Or Application.IsEven(Target.Row) Then Exit Sub
"Daniel.C" a écrit dans le message de news:
euEk%
Avec MON classeur ? Quelqu'un peut-il vérifier ?
Sais-tu quelle ligne de code est en erreur ?
Daniel

le simple changement d'une donnée en a7,9,11 ou 13
"Daniel.C" a écrit dans le message de news:
%
Quelle opération provoque cette erreur ?
Daniel

J'ai un message d'erreur "methode non gérée par cet objet"

"Daniel.C" a écrit dans le message de news:
%
Regarde ton fichier modifié :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijVJ8eTpU.xls
J'ai ajouté la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Or Application.IsEven(Target.Row) Then Exit Sub
Application.EnableEvents = False
Select Case Target.Row
Case 7
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 9
[A7] = [A9] / [A5]
[A11] = [A9] - [A5]
[A13] = [A11] / [A9]
Case 11
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A13] = [A11] / [A9]
Case 13
[A7] = [A9] / [A5]
[A9] = [A5] * [A7]
[A11] = [A9] - [A5]
End Select
Application.EnableEvents = True
End Sub

Cordialement.
Daniel

Merci
Ici
http://cjoint.com/?gilHSnsIZF

"Daniel.C" a écrit dans le message de
news:
Bonjour.
Mets un classeur avec quelques exemples sur www.cjoint.com. Poste
ensuite ici l'adresse générée.
Cordialement.
Daniel

Bonjour
Je suis en train de me prendre la tête avec la TVA
J'ai différentes cellules au nombre de 6

1Taux de TVA
2Prix d'achat
3Coef de marge
4Nouveau Prix de vente
5Montant marge en ?
6Marge en %

Je pensais qu'en VBA cela serait un jeu d'enfant à savoir
si l'une des valeurs de 3 à 6 change alors les autres changent
aussi
En clair je voudrais par exmple entrer une marge en % et les
autres cellules se mettent à jour,
ou entrer un coef
ou entrer un nouveau prix
etc
j'ai donc ce code mais je patine

Sub TVA()
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Prix_d_achat_HT") Then
Call Coef
Else
Call Nouveau
End If
If Range("Montant_de_la_marge_HT_en_?") = "" Then
Call Marge_euros
End If
If Range("Nouveau_Prix_de_Vente_HT") <> "" And
Range("Montant_de_la_marge_HT_en_?") Then
Range("Marge_en").Value =
Range("Montant_de_la_marge_HT_en_?").Value /
Range("Nouveau_Prix_de_Vente_HT").Value
End If
If Range("Marge_en").Value <> "" Then
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_vente_HT").Value * Range("Marge_en").Value
End If
End Sub
Sub Coef()
Range("Coef").Value = Range("Nouveau_Prix_de_Vente_HT").Value /
Range("Prix_d_achat_HT").Value
End Sub
Sub Nouveau()
Range("Nouveau_Prix_de_vente_HT").Value =
Range("Prix_d_achat_HT").Value * Range("Coef").Value
End Sub
Sub Marge_euros()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value -
Range("Prix_d_achat_HT").Value
End Sub
Sub Pourcent()
Range("Montant_de_la_marge_HT_en_?").Value =
Range("Nouveau_Prix_de_Vente_HT").Value * Range("Coef").Value
End Sub


quelqu'un a t'il un classeur ou un exemple merci
Pascal


































Avatar
Gloops
pb a écrit, le 08/06/2009 15:22 :
Oui la ligne exacte est

If Target.Count > 1 Or Target.Column > 1 Or Target.Row > 13 _
Mais cela ne fonctionne pas





Bonjour,

Il me semble que ça ne peut fonctionner qu'avec un espace derrière le _

Histoire d'en avoir le cœur net ça serait bien au besoin (si ça tie nt)
d'essayer avec tout sur la même ligne (même si ça n'apparaît pas comme
tel à l'écran), et de remettre la césure ensuite pour améliorer l a
lisibilité.

Cela étant, comme le fait fort justement remarquer Daniel, si c'est pou r
faire un Exit Sub c'est aussi simple, bien que pas nécessairement aussi
élégant, en faisant le test séparément pour chaque clause :

If Target.Count > 1 Then Exit Sub
If Target.Column > 1 Then Exit Sub
If Target.Row > 13 Then Exit Sub

et ainsi de suite.

Pour une autre opération, à la place de Exit Sub on mettrait booTest =
true, et à la fin (après peut-être une ligne blanche pour la lisibi lité)

If booTest Then ...
1 2