Faire exécute un code VBA si une donnée à changer de valeur dans une plage...

CyberNeo99

XLDnaute Occasionnel
Bonjour à tous,

J'ai un petit problème, puisque je ne suis pas programmeur et que j'ai cherché le code pour ainsi réussir ce que je veux et que ma recherche a été vaine et bien je m'en remets à vous. J'ai un code VBA que je voudrait faire exécuter si une donnée change de valeur dans une plage donnée.

Disons de R35 à R74

J'ai le code

If Application.Intersect(Target, Range("R35:R74"))

Par contre pour le reste je n'ai pas d'idée, j'ai essayé

If Application.Intersect(Target, Range("R35:R74")) Is Change Then

Aucun résultat

Si quelqu'un connaît le code cela serait très très apprécier.

Je vais continuer de chercher. Peut être que je trouverai car pour l'autre problème que j,avais j'ai trouvé il ne me reste que celui si car si ue valeur change dans la plage je veux qu'il réexécute le code VBA pour ainsi faire un genre de Refresh


Grand Merci à l'avance


Neo
 
Dernière édition:

bof

XLDnaute Occasionnel
Re : Faire exécute un code VBA si une donnée à changer de valeur dans une plage...

Bonjour,
Il est préférable de monter ton propre sujet plutôt que de squater un sujet ancien. (Même si le sujet est similaire)

Dans l'ensemble, sauf cas particulier ta demande est un peu embarrassante. Comment comptes-tu gérer la chose si par exemple l'utilisateur modifie plusieurs cellules (lignes) en même temps ? (avec un copier / coller par exemple...)
A+
 

PAPA WALKER

XLDnaute Junior
Re : Faire exécute un code VBA si une donnée à changer de valeur dans une plage...

Bonjour,
Merci du conseil pour le SUJET. Je me suis dit que de remettre un alors que ça a déjà été approché.... Mais apparemment ça n'est pas la meilleure pratique.

Et, merci aussi pour cette remarque pertinente à laquelle je n'avais pas pensée...

2-0

je vais réfléchir à tout ça.

Cordialement
 

bof

XLDnaute Occasionnel
Re : Faire exécute un code VBA si une donnée à changer de valeur dans une plage...

Bonjour,
Voici néanmoins une solution qui tient compte de cette particularité.
Remarque : La plage contrôlée à été nommée "plage" dans le gestionnaire de nom.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
iR = Target.Row
Set isect = Application.Intersect(Target, Range("plage"))
   If Not isect Is Nothing Then
      Cells(iR, 1) = "Oui"
      Cells(iR, 2) = Date
   End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Cette macro restreint la sélection à la seule cellule active si c'est
'une sélection multiple et qu'elle intersecte la plage contrôlée.
If Target.Count > 1 Then
Set isect = Application.Intersect(Target, Range("plage"))
   If Not isect Is Nothing Then
      ActiveCell.Select
   End If
End If
End Sub
A+
 

PAPA WALKER

XLDnaute Junior
Re : Faire exécute un code VBA si une donnée à changer de valeur dans une plage...

Bonjour et Merci avec un M majuscule

J'ai testé sur mon PC fixe à la maison et là ça plante car il me dit que j'ai une bibliothèque introuvable ou quelque chose dans le genre. J'ai pourtant Excel 2010, comme sur mon PC Portable? Et sur le portable ça à l'aire de marcher...

Ensuite je vais revoir mon code car pour des modif en masse, je sélectionnais une plage de cellule qui étaient filtrées et je mettais à jour par un copier coller spécial Addition.
Là, je crois que si je trouve comment faire une boucle pour chaque ligne de cette plage filtrée, ça pourra fonctionner aussi à chaque ligne avec un fonctionnement certainement un peu plus long, mais je n'ai pas des milliards de lignes?

Je te tiendrai au courant..

Merci mille fois
 

bof

XLDnaute Occasionnel
Re : Faire exécute un code VBA si une donnée à changer de valeur dans une plage...

Bonjour,
Pour la référence manquante va dans VBA Outils > Références... et décoche la référence déclarée manquante.
Le cas échéant (en cas de nécessité) tu dois trouver une référence analogue avec un numéro de version à peine différent...
La cocher si ce n'est pas déjà fait.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas