probleme avec Worksheet_Change, je ne le maitrise pas tres bien

satwaf

XLDnaute Occasionnel
Bonjour a tous,
peu a peu mon fichier avance, mais j'ai encore quelques lacunes pour résoudre certains probleme, donc je vous explique mon casa et je suis sur que pour vous cela sera tres simple, ne m'en veuillez pas, masi je suis debutant sur VBA

Donc le probleme est que sur mon fichier j'ai une zone (entoure en rouge sur le fichier) et lorsque je modifie une cellule et uniquement dans ce cas, une boite de dialogue apparait pour me demander le motif de la modification, j'aimerai donc lorsque je lance cette boite de dialogue récuperer l'adresse de la cellule qui a été modifiée.

de plus lorsque j'insere une ligne dans cette selection (qui sera faite par un code vb) j'aimerai que la boite de dialogue ne se lance pas , dois je ajouter un ligne dans la future macro du genre Application.EnableEvents = false

j'espere avoir été assez clair dans mes explications et que vous pourrez me venir en aide

petit a petit l'oiseau fait son nid...
 

Pièces jointes

  • Classeurtest2.zip
    20.9 KB · Affichages: 25

Gorfael

XLDnaute Barbatruc
Re : probleme avec Worksheet_Change, je ne le maitrise pas tres bien

Salut satwaf et le forum
Pas sûr de comprendre le problème : Worksheet_Change ne se lance que quand on "modifie" une cellule => Ton USF sert vraisemblablement à la modifier => il faudrait utiliser une autre macro. Une proposition avec le Double-clic :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("base")) Is Nothing Then Exit Sub
'si on est pas dans base, on sort
Cancel = True
'bloque la transformation
Range("A4") = Target.Address(0, 0)
CommandButton1_Click
End Sub
Comme le double-clic ne fonctionne que sur une seule cellule à la fois...

Pour le problème d'insertion : la macro n'est pas concernée. Ne connaissant pas l'utilisation réelle, une proposition de définition dynamique de la plage Base
Code:
=DECALER(Feuil1!$B$6;1;0;NBVAL(Feuil1!$A$7:$A$100);3)
Base est égale
- à la cellule B6 décalée d'une ligne et de 0 colonne (B7)
- d'une hauteur du nombre de valeurs sur la plage A7:A100 (c'est à adapter au besoin réel, ce qui donne dans l'exemple donné B7 : B29)
- et d'une largeur de 3 colonnes
Dans l'exemple donné, Base a donc pour adresse B7 : D29.
Elle se modifiera toute seule à chaque fois que tu inséreras ou supprimeras une valeur dans la plage A7:A100. Elle sera correcte, tant qu'il n'y aura pas de libellé indésirable dans la plage considéré (commentaires ou autres), et aucune ligne vide entre deux libellés.
A+
 
Dernière édition:

satwaf

XLDnaute Occasionnel
Re : probleme avec Worksheet_Change, je ne le maitrise pas tres bien

en fouillant a droite et a gauche j'ai trouve la solution a mon probleme, d'ailleurs j'ai ajouté une option ; si j'insere une ligne, la boite de dialogue ne se declenche pas

Merci a tous pour votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 380
Messages
2 087 798
Membres
103 664
dernier inscrit
wolvi71