lancement automatique de macro

M

metru

Guest
Bonjour à tous et bonne année !!!!!!!!!
Je voudrais que lorsqu'une cellule 'x' d'une colonne bien précise est renseignée, la ligne comprenant cette cellule soit sélectionnée et ma macro lancée.
Merci par avance.
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir metru,

Le code ci-dessous devrait répondre à ta question. Mais comme on ne sait pas quelle est cette cellule 'x' et quelle est la colonne cible 'bien précise', ce code fonctionnera pour toute cellule de la colonne D :
Private Sub Worksheet_Change(ByVal Target As Range)
      Set Target = Target(1) 'Pour éviter bug si sélection = une plage
      If Not Application.Intersect(Target, Columns(6)) Is Nothing Then
            If Len(Target.Value) > 0 Then
                  Target.EntireRow.Select
                  'Appel de la macro
                  MaMacro
            End If
      End If
End Sub
Cordialement,
 
M

metru

Guest
Merci de ta réponse si rapide mais je suis désolé, je dois vraiment être nul, ce code ne fonctionne pas. Peut tu m'éclairé un peu ?
la colonne est G, et il y a environ 200 lignes. Merci encore
End Sub :)
 

myDearFriend!

XLDnaute Barbatruc
Re metru,
Bonsoir Dan,

Oui Dan, bonne question !
Metru, as-tu bien remplacé l'expression 'MaMacro' par le nom de la macro que tu souhaites lancer ?

Par ailleurs, si la colonne cible est la colonne G, alors il te faut remplacer la ligne :
If Not Application.Intersect(Target, Columns(6)) Is Nothing Then
Par :
If Not Application.Intersect(Target, Columns(7)) Is Nothing Then
J'ajoute également qu'il convient de copier cette procédure dans le module de code de la Feuille concernée.

Cordialement,
 

fradouan

XLDnaute Junior
bonsoir didier dan metru forum
j'ai deja qlq notions en vba mais j'aimerai bien me performer avec toute mon estime peu tu me renvoyer sur une une reference en la matiere merci et excuse mon français
a l'occasion ton code marche tres bien
amicalement radouan

Message édité par: fradouan, à: 03/01/2006 23:01
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir radouan,

Très difficile ta question tu sais, car tu l'as compris, VBA est un sujet très vaste, on en apprend tous les jours et c'est d'ailleurs ça qui fait que c'est passionnant !

Pour tenter de répondre à ta question, mes références à moi sont :[ol][ul][li]John Walkenbach (pour moi le meilleur !) et ses très bons ouvrages.[/li]
[li]Ce lien n'existe plus (l'incontournable !)[/li]
[li]Lien supprimé (une base de données indispensable)[/li][/ul][/ol]Sans oublier, bien sûr (tout aussi incontournables) :[ol][ul][li]Le présent site Excel Downloads, Ce lien n'existe plus et sa section de téléchargements.[/li]
[li]Nos amis de Ce lien n'existe plus[/li]
[li]Excelabo[/li]
[li]Ce site n'existe plus[/li]
[li]Polykromy[/li][/ul][/ol]
A ne pas manquer non plus, sur le présent site :[ol][ul][li]Les 8 pages Lien supprimé[/li]
[li]ainsi que les innombrables démos de notre ami _Thierry : faire une recherche avec les mots 'Demo' et/ou '@+Thierry' dans les Archives XLD.[/li][/ul][/ol]
Bref, plein de bonnes choses à explorer...

Cela dit, la meilleur approche pour moi, c'est de te fixer un projet simple au début, et de chercher à l'améliorer, sans cesse, au fur et à mesure de tes recherches. Tester et appliquer ce qu'on apprend, il n'y a pas meilleur apprentissage je pense.

Un autre moyen d'apprendre rapidement : pour ma part, je n'ai jamais appri autant qu'en participant dans ce forum !

Cordialement,
 
M

metru

Guest
Désolé, j'avais du m'absenter.
Oui, j'ai bien remplacé 'mamacro' par la macro à lancer. Cependant ,j'avais mis ce code dans le Thiswokbook. Je vais changer et vous tiendrai informés.
Merci encore A+
 
M

metru

Guest
J'ai bien suivi vos instructions mais malheureusement --> Problème sur la ligne
IF NotApplication.Insert(Target,Column (7)) is nothing Then
On me demande une macro ou une formule !!!
Je suis vraiment dépassé.
A l'Aide !!!!
 

Dan

XLDnaute Barbatruc
Bonjour,

En attendant que Didier revienne.

Je ne comprends pas ton pb. A mon avis tu places mal les codes de la macro de Didier et/ou la macro à exécuter après la sélection de ligne.

Regarde ce petit fichier et mets un X dans la colonne F. Cela te montrera un message qui provient d'une macro que j'ai nommée 'mamacro'. Il te suffit de le remplacer par ta macro.


;) [file name=Metru.zip size=7178]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Metru.zip[/file]

Message édité par: Dan, à: 04/01/2006 16:01
 

Pièces jointes

  • Metru.zip
    7 KB · Affichages: 29

myDearFriend!

XLDnaute Barbatruc
Bonjour Metru, Dan, le Forum,

Merci Dan. Je n'avais pas regardé ton fichier et du coup, j'avais moi aussi préparé un exemple pour notre ami Metru !

Bon, Metru, tu trouveras ci-joint donc un deuxième exemple (similaire à celui de Dan) utilisant la procédure indiquée.

Metru a écrit :
IF NotApplication.Insert(Target,Column (7)) is nothing Then
Pour info, normalement :[ol][ul][li]il y a un espace entre Not et Application[/li]
[li]il s'agit de Application.Intersect (et non Insert)[/li][/ul][/ol]
Par ailleurs, si tu souhaites une aide efficace, à l'avenir il serait préférable d'indiquer le message d'erreur exacte que te renvoie Excel lorsque tu lances une macro qui ne fonctionne pas, car 'On me demande une macro ou une formule !!!', ce n'est pas très causant pour celui qui essaye de reproduire l'erreur pour tenter de trouver une solution... Il conviendrait également de copier ici l'ensemble de la procédure défaillante plutôt qu'une seule et unique ligne (tout en précisant, comme tu l'as fait, la ligne qui semble causer problème).

Je te souhaite bon courage et bonne chance pour la suite.

Cordialement, [file name=PourMetru.zip size=7231]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourMetru.zip[/file]
 

Pièces jointes

  • PourMetru.zip
    7.1 KB · Affichages: 29
M

metru

Guest
Salut Dan, merci de t'occuper de mes soucis.
Voilà ce que j'ai retranscrit, je ne pense pas avoir fait d'erreur ce coup ci.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Target = Target(1)
If Not Application.Intersect(Target, Column(7)) Is Nothing Then
If Len(Target.Value) > 0 Then
Target.EntireColumn.Select
Archivage
End If
Enf If

End Sub

Le message que je reçois est le suivant
Erreur de compilation
Sub ou Fonction non définie

Est-ce grave docteur ?
 

Discussions similaires

Réponses
11
Affichages
360

Statistiques des forums

Discussions
312 842
Messages
2 092 745
Membres
105 519
dernier inscrit
faivre-roussel.ivan@orang