Saisi HT et TTC indifféremment et plusieurs fois dans la feuille

  • Initiateur de la discussion Initiateur de la discussion n000
  • 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 !

n000

XLDnaute Nouveau
Bonjour,

Je suis arrivé avec l'aide de pierrot93 au code ci dessous:

Je n'arrive pas répéter la fonction en meme temps sur d'autre colonne (qui fonctionne par deux: ht et ttc) dans la meme feuille.
Je n'arrive pas à le modifier pour qu'il fonctionne. J'ai pensé à la fonction Worksheet_SelectionChange ?
Merci d'avance pour vos réponses.

Option Explicit
Public b As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If b = True Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Address = Range("Taux").Address Then maprocedure
If Target.Column = 3 Or Target.Column = 4 Then
b = True
If Target.Column = 3 Then Target.Offset(0, 1) = Target * (1 + Range("Taux") / 100)
If Target.Column = 4 Then Target.Offset(0, -1) = Target / (1 + Range("Taux") / 100)
b = False
End If
End Sub
Sub maprocedure()
Dim c As Range
b = True
For Each c In Range("C2", Range("C65536").End(xlUp))
c.Offset(0, 1) = c * (1 + Range("Taux") / 100)
Next c
b = False
End Sub
 
Re : Saisi HT et TTC indifféremment et plusieurs fois dans la feuille

Oui en adaptant cette ligne et la suite pour la colonne 5 et 6 par exemple, mais je n'arrive pas à avoir le calcul pour les colonnes 3 et 4 ET pour les colonnes 5 et 6 ET pour les colonnes 7 et 8.
J'ai vraiment essayé plein de solutions d'adaptation en vain.
Et ca me rendrait tellement service...
Merci encore
 
Re : Saisi HT et TTC indifféremment et plusieurs fois dans la feuille

Re,

essaye en modifiant comme suit :
Code:
Option Explicit
Public b As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If b = True Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target.Address = Range("Taux").Address Then maprocedure
If Target.Column > 2 And Target.Column < 9 Then
b = True
If Target.Column Mod 2 = 1 Then
    Target.Offset(0, 1) = Target * (1 + Range("Taux") / 100)
Else
    Target.Offset(0, -1) = Target / (1 + Range("Taux") / 100)
End If
b = False
End If
End Sub
Sub maprocedure()
Dim c As Range, i As Byte
b = True
For i = 3 To 7 Step 2
    For Each c In Cells(2, i).Resize(Cells(65536, i).End(xlUp).Row - 1)
        c.Offset(0, 1) = c * (1 + Range("Taux") / 100)
    Next c
Next i
b = False
End Sub
bon après midi
@+
 
Dernière édition:
Re : Saisi HT et TTC indifféremment et plusieurs fois dans la feuille

Vraiment super je vais reussir à faire mon tableau
Pour faire des sauts de colonnes j'ai mis:
If Target.Column > 2 And Target.Column < 9 Or Target.Column = 11 Or Target.Column = 12 Then par exemple.

J'aurai une derniere (enfin j'espere) demande:
comment faire la meme chose mais sur des lignes : par exemple ligne 3 en HT ligne 4 en TTC ?
Encore vraiment merci
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
513
Réponses
1
Affichages
349
Réponses
2
Affichages
160
Réponses
4
Affichages
250
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
328
Réponses
10
Affichages
292
Retour