Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Deux macros sous une même feuille avec Private Sub Worksheet_Change(ByVal Target As R

Jecomprendspaslesmacros

XLDnaute Nouveau
Bonjour !

Je suis bloquée depuis deux jours sur un problème que je pense avoir identifié...

Voilà j'aimerais mettre sur une page deux macros différentes, le code est le suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim A As Variant
Dim B As Variant
Dim c As Variant
Dim D As Variant

If Not Intersect(Range("B2:E100"), Target) Is Nothing Then
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Range("H" & Target.Row).Resize(1, 100).ClearContents

With Sheets("Papiers101")
For c = 2 To 5
Set Cel = .Range("B4:E300").Find(what:=Cells(Target.Row, c), _
LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
For D = 0 To 82
Cells(Target.Row, 8 + D) = Cells(Target.Row, 8 + D) + _
Cells(Cel.Row, 8 + D)
Next D
End If
Next c
End With


With Sheets("Produits LMG")
For A = 2 To 5
Set Cel = .Range("B2:E300").Find(what:=Cells(Target.Row, A), _
LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
For B = 0 To 82
Cells(Target.Row, 8 + B) = Cells(Target.Row, 8 + B) & .Cells(Cel.Row, 10 + B)

Next B
End If
Next A
End With

End If

Application.EnableEvents = True
End Sub




Voilà pour le code : le soucis que je rencontre est que dans un cas (recherche dans feuille 'papiers101') les données trouvées s'additionnent (ce sont des données numériques), alors que dans l'autre cas, les données sont du texte et n'ont donc pas besoin d'être additionnées (d'où le "&").
Du coup, il apparaît des incompatiblités de type lorsque les recherches se font (sélections dans des listes de données dans colonnes 2 à 5).


Je début en macros et j'espère être claire, sinon n'hésitez pas pour plus de détails !!
 

Discussions similaires

Réponses
1
Affichages
264
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…