affecter code feuille a une macro

jad73

XLDnaute Occasionnel
bonjour
comment fait-on pour affecter un code qui est dans une feuille a un bouton de macro.
On m'a aimablement donner un code pour extraire des données mais il est dans une feuille (qu'on ma dit)hors j'ai crée un bouton pour faire la macro mais je ne trouve pas le code quand je clique droit sur le bouton et affecter une macro
voici le code
Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque édition dans l'onglet
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)

If Target.Address <> "$T$3" Then Exit Sub 'si l'édition a lieu ailleurs qu'en T3, sort de la procédure

For Each cel In Range("A2:A2000") 'boucle sur toutes les cellules cel de la plage A2:A2000
If cel.Value = Target.Value Then 'condition 1 : si la cellule cel a la même valeur que la cellule T3
If Range("V2") = "" Then 'condition 2 : si la cellule V2 est vide
Set dest = Range("V2") 'définit dest comme étant V2
Else 'sinon (condition 2)
'définit dest comme étant la première cellule vide rencontrée dans la colonne V
Set dest = Range("V65536").End(xlUp).Offset(1, 0)
End If 'fin de la condition 2
Range(cel.Offset(0, 1), cel.Offset(0, 17)).Copy dest 'copie et colle la plage B:R de la celule cel
End If 'fin de la condition 1
Next cel 'prochaine cellule cel de la boucle
End Sub

mon bouton de macro se nomme 'resultSem'
merci
 

JCGL

XLDnaute Barbatruc
Re : affecter code feuille a une macro

Bonjour à tous,

Peux-tu essayer en affectant ce code à ton bouton :

Code:
Sub Resultat ()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)
 
If Target.Address <> "$T$3" Then Exit Sub 'si l'édition a lieu  ailleurs qu'en T3, sort de la procédure
 
For Each cel In Range("A2:A2000") 'boucle sur toutes les cellules cel de  la plage A2:A2000
    If cel.Value = Target.Value Then 'condition 1 : si la cellule cel a  la même valeur que la cellule T3
        If Range("V2") = "" Then 'condition 2 : si la cellule V2 est  vide
            Set dest = Range("V2") 'définit dest comme étant V2
        Else 'sinon (condition 2)
            'définit dest comme étant la première cellule vide  rencontrée dans la colonne V
            Set dest = Range("V65536").End(xlUp).Offset(1, 0)
        End If 'fin de la condition 2
        Range(cel.Offset(0, 1), cel.Offset(0, 17)).Copy dest 'copie et  colle  la plage B:R de la celule cel
    End If 'fin de la condition 1
Next cel 'prochaine cellule cel de la boucle
End Sub
A+ à tous
 

Discussions similaires

Réponses
1
Affichages
262
Réponses
2
Affichages
172