Workbook_SheetChange et Target.Row [Résolu]

Signaler
Messages postés
37
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2010
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour,


J'utilise Workbook_SheetChange pour detecter les changements de cellule pour la colonne K (11ème colonne), selon:

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
PrivateSub Workbook_SheetChange(ByVal Sh AsObject, ByVal Target As Range)
 
If Target.Row > 3And Target.Row < 1500And Target.Column = 11Then
SelectCase(Sh.Name)
Case"PCL": PCLDate Target
EndSelect
EndIf

<!-- END TEMPLATE: bbcode_code -->Comment récupérer la ligne de la cellule modifié (qui correspond à Target.Row) afin de s'en reservir dans PCLDate!

J'ai essayer de définir une variable pour y copier la valeur de Target.Row, mais rien n'y fait!


D'avance merci


@+


ted
A voir également:

7 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

tu peux essayer un truc comme ceci :
Select CaseSh.Name
Case "PCL"
Sheets("PCLDate").Range("A" & Target.Row).Value = "blabla"
End Select

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
37
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2010

Ok merci..
mais euh y a quoi à la place du "blabla"?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
bah je sais pas, c'est ton dev
C'est à toi de voir ce que tu veux mettre dans tes cellules

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
37
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2010

Ah ok, je crois que j'ai compris...:D
Ton code fait que si la ligne 8 est modifié, alors on valorise A8 avec blabla
Moi c'est pas du tout ce que je veux...Je veux juste récuperer le "8", pour m'en servir dans une procédure (PCLDate) appellée (via une variable)!
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Alors dans les délcarations (au dessus de toutes tes procédures et évènements), place un
Public MaLigne As Integer

Puis, dans le code de tout à l'heure :

Select CaseSh.Name
Case "PCL"
MaLigne = Target.Row
End Select

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
37
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
27 janvier 2010

Yes! Merci Mortalino

En fait, j'ai fait:
If Target.Row > 3 And Target.Row < 1500 And Target.Column = 11 Then
    PCLLigne = Target.Row
    Select Case (Sh.Name)
        Case "PCL de chaines": PCLDate Target
    End Select
End If

Et ca marche du tonnerre de zeus!
Donc si j'ai bien compris, les variables déclarés en "Public" seront repris à travers toute les procédures (Sub[...]End-Sub) du projet?
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
re,

oui, c'est bien ça, si c'est Public, la variable sera accessible dans toutes les procédures de tous tes modules (modules de feuilles, Userform, Module / module de classe.
En Private (et toujours dans les déclarations), elle sera accessible par toutes les procédures, mais seulement au niveau module

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA