XL 2019 Colonne et formule sous VBA

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

Acher12

XLDnaute Nouveau
Bonjour à vous tous,
je souhaite avoir votre aide sur une problématique depuis hier:

J'ai ce code qui a pour but de chercher à partir d'une colonne des valeur et applique une formule (-) à partir d'une autre colonne:
**********
Sub val_nég()

For Each cell In Range("A7:A10000")
If cell.Value = Dep Or cell.Value = Dep1 Then
cell.Offset(0, 3).Value = cell.Offset(0, 2).Value * -1
Else
cell.Offset(0, 3.Value = cell.Offset(0, 2).Value
End If
Next cell

End Sub
**************
je veux amiliorer ma macro pour que si ma colonne [ Produit]=Range("A7:A10000") et ma colonne [ PRIX] =cell.Offset(0, 2) change de position ,j'applique la formule dans une colonne déja prédifini.
Je vous joins un fichier type.
D'avance merci si vous pouvez m'apporter votre aide.
 

Pièces jointes

Solution
Bonjour Archre,
En PJ un essai, en utilisant non les colonnes mais l'intitulé des colonne du tableau structuré.
Ainsi quelque soit la place de la colonne Prix, la colonne Prix restera la colonne Prix.
Avec :
VB:
Sub Calcul()
    NLignes = [Tableau1].Rows.Count
    For N = 1 To NLignes
        Valeur = LCase([Tableau1[Produit]].Item(N))
        If Valeur = "dep" Or Valeur = "dep1" Then
            Mult = -1
        Else
            Mult = 1
        End If
        Cells(N + 1, "K") = Mult * [Tableau1[Prix]].Item(N)
    Next N
End Sub
Bonjour Archre,
En PJ un essai, en utilisant non les colonnes mais l'intitulé des colonne du tableau structuré.
Ainsi quelque soit la place de la colonne Prix, la colonne Prix restera la colonne Prix.
Avec :
VB:
Sub Calcul()
    NLignes = [Tableau1].Rows.Count
    For N = 1 To NLignes
        Valeur = LCase([Tableau1[Produit]].Item(N))
        If Valeur = "dep" Or Valeur = "dep1" Then
            Mult = -1
        Else
            Mult = 1
        End If
        Cells(N + 1, "K") = Mult * [Tableau1[Prix]].Item(N)
    Next N
End Sub
 

Pièces jointes

- 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 Probléme VBA
Réponses
8
Affichages
318
Réponses
1
Affichages
520
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
2
Affichages
202
Réponses
2
Affichages
153
Réponses
0
Affichages
459
Retour