XL 2013 Automatic macro ne fonctionne pas

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 !

Kidcarotte

XLDnaute Junior
Bonjour a tous
Je rencontre quelques difficultes avec ma macro, je suis a la recherche de suggestion
elle sera attachee dans le post

J'ai donc trois macro automatique:
- La premiere etant un curseur de couleur jaune
- la deuxieme etant une fonction if. If A3 = No packaging then A4 = 0

le probleme est que les macros automatique ne marche plus du tout, et je ne comprend pas pourquoi

Je suis ouverte a toute vos suggestions

Merci a tous
 

Pièces jointes

Bonjour Daniel

J'ai la macro en debut sur ma worksheet, mais ce ne marche toujours pas.
la premiere execution marche, mais apres si je clique sur le bouton "clear", il y a marque mismatch, sauf que je ne vois pas ou ni pourquoi puisqu'elle s'est execute parfaitement la premiere fois

cordialement
 
D'accord je vais essaye d'etre plus claire. Je reposte le fichier excel ici -
1) La feuille qui m'interesse est la feuille numero 1 qui s'appelle Warehouse ( je m'excuse par avance pour le manque d'accent j'ecris avec un Qwerty)
2) Lorsque l'on va dans la fonction developer -> Macro on arrive sur la fenetre VBA ou l'on peut manuellement taper le code.
3) Dans l'onglet a gauche, il y a le titre -> VBA project -> Microsoft Excel Objects -> Feuille 1 (Warehouse)

Dedans j'ai ecris deux macro automatique
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("E5")) Is Nothing Then

Application.EnableEvents = False

If Target = "No packaging" Then Range("A5:D5").Copy Range("A8")

[...]

Application.EnableEvents = True

End If

If Not Intersect(Target, Range("B16")) Is Nothing Then

If Target = "1A" Then Sheets("Office").Range("AI2:AK2").Copy: Sheets("Warehouse").Range("C16:E16").PasteSpecial

End If

End Sub



Private Sub Worksheet_SelectionChange(ByVal Target As Range)

lig = Target.Row

Cells(2, 4).Value = Date

If Not Intersect(Selection, [A1:Z100]) Is Nothing Then

[A1:Z100].Interior.ColorIndex = xlNone

ActiveCell.Interior.ColorIndex = 6

End If

End Sub


Jusqu'a la tout fonctionnait, mais depuis que j'ai rajoute la deuxieme condition de IF ( IF Not Intersect B16), cela ne marche plus.
C'est a dire que lorsque j'ouvre le fichier, tout fonctionne comme prevu, sauf que lorsque j'appuie sur le bouton "clear" de la feuille Warehouse
"Run time error 13 type mismatch"
Je clique sur debug, et (jai accroche un screenshot en docs) et je ne comprends pas comment cette erreure est generee. Je ne vois pas ou est le probleme.

J'espere que c'est comprehensible maintenant
 

Pièces jointes

La macro plante sur la ligne :
VB:
If Target = "No packaging" Then Range("A5:D5").Copy Range("A8")
Comme Target représente une plage de plusieurs cellules, si tu veux tester la valeur de la première cellule, il faut mettre:
Code:
If Target(1).Value = "No packaging" Then Range("A5:D5").Copy Range("A8")
et pareil sur les lignes suivantes. Maintenant, pour ne pas déclencher l'évènement WorkSheet_Change, mets :
Code:
Sub Clear()
'
' Clear Macro
'
Application.EnableEvents = False
Set S1 = Worksheets("Warehouse")
S1.Range("A2:G2, A5:F5, A8:I8, B11:H16, A19:D19").ClearContents
Application.EnableEvents = True
End Sub

Daniel
 
- 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

Retour