If not Intersect sur plusieurs colonnes

Résolu/Fermé
touroul Messages postés 475 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 11 novembre 2024 - Modifié le 23 févr. 2022 à 19:51
touroul Messages postés 475 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 11 novembre 2024 - 23 févr. 2022 à 21:50
Bonsoir le forum !

Dans une macro, je souhaite déclencher une commande seulement dans certaines colonnes.
Ici en exemple, colonnes A et B, la commande est un Msgbox.

Sub Mamacro()
Dim rng As Range
With ActiveSheet
Set rng = Union(Columns("A:A"), Columns("C:C"))
If Not Intersect(Target, rng) Is Nothing Then
Msgbox("Match")
End If
End With
End Sub


Mais Excel montre son désaccord par un vilain 'Erreur 424, objet requis".

Puis-je vous demander un peu d'aide sur mon erreur svp ?
Merci par avance

Configuration: Windows / Excel 365

4 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
23 févr. 2022 à 20:07
1
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
23 févr. 2022 à 21:43
Bonsoir touroul

Je ne comprends pas l'utilité de ton If ...
Il n' y a pas besoin de condition, si tu veux remplacer les points uniquement dans les colonnes A et C il suffit de les sélectionner avec Union puis d'appliquer le remplacement à la sélection
 Union(Columns("A:A"), Columns("C:C")).Select
Selection.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cdlmnt
Via

1
touroul Messages postés 475 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 11 novembre 2024 16
Modifié le 23 févr. 2022 à 20:55
Bonjour Le Pivert

Merci pour ta réponse.
J'ai corrigé mes guillemets mal placées.
Cependant, ce n'est toujours pas ça.

Ma macro se lance depuis un bouton et non en Worksheet_SelectionChange.
Ça donne ça : (en fait la macro remplace les points par des virgules dans les colonnes concernées) :

Sub Mamacro() 
With ActiveSheet
If Not Application.Intersect(Target, Range("A:A,C:C")) Is Nothing Then
Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End If
End With
End Sub


Toujours 'Erreur 424, objet requis"

Merci pour la suite :)
0
touroul Messages postés 475 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 11 novembre 2024 16
23 févr. 2022 à 21:50
Bonsoir Via

Oui et oui ! Pardon, je suis allé trop loin, je n'ai pas su regarder ça simplement.
C'était bien l'objectif.

Merci bien à toi, ainsi qu'à LePivert pour votre aide.
Bonne soirée
0