Activation d'une macro a partir d'une colonne vers une autre colonne VBA

Tomg2

XLDnaute Nouveau
Bonjour,

je suis actuellement à la recherche d'une manière de faire pour que quand je rentre un "=1" dans la cellule AF2 par exemple, cela active une macro qui déplace ma sélection de cellule à la cellule AY2 et que lorsque je met "=1" dans la cellule AF3 déplace ma sélection de cellule à la cellule AY3...

Mon problème n'est pas d'enregistrer la macro mais de modifier le code VBA pour que celle ci s'effectue à partir de chaque cellule de ma colonne vers chaque cellule de l'autre colonne.

Actuellement j'en suis la:

Private Sub OptionButton1_Click()
For Each cel In Range("AF2:AF60")
If Target.Column = 32 _
And Target.Row >= 2 Then
If UCase(Target.Value) = "1" Then
Macro
Else
End If
End Sub

Merci de votre aide
 

mécano41

XLDnaute Accro
Re : Activation d'une macro a partir d'une colonne vers une autre colonne VBA

Bonjour,

Avec ceci dans le code de la feuille...

Code:
Option Explicit

Sub Worksheet_Change(ByVal Cible As Range)
If Not Intersect(Cible, Range("AF2:AF60")) Is Nothing Then
    If Cible.Rows.Count = 1 Then
        If Cible.Value = 1 Or Cible.Value = "1" Then
            Cible.Offset(0, 20).Select
        End If
    End If
End If
End Sub

Cordialement
 

Tomg2

XLDnaute Nouveau
Re : Activation d'une macro a partir d'une colonne vers une autre colonne VBA

Et si je veux appliquer ce même genre de macro sur la colonne AG qui renvoi à la colonne AZ?
je peu modifier ce code juste en changeant les lettres?

je ne sais pas ou le rentrer puisqu'il s'agit d'un worksheet Change.

Merci d'avance
 

mécano41

XLDnaute Accro
Re : Activation d'une macro a partir d'une colonne vers une autre colonne VBA

Voici le code. Dans la deuxième partie, on a modifié la plage où tu mets 1 (le nombre de lignes concernées pourrait, si besoin, être différent) et le décalage de 20 colonnes passe à 19...

Code:
Option explicit

Sub Worksheet_Change(ByVal Cible As Range)
If Not Intersect(Cible, Range("AF2:AF60")) Is Nothing Then
    If Cible.Rows.Count = 1 Then
        If Cible.Value = 1 Or Cible.Value = "1" Then
            Cible.Offset(0, 20).Select
        End If
    End If
End If
If Not Intersect(Cible, Range("AG2:AG60")) Is Nothing Then
    If Cible.Rows.Count = 1 Then
        If Cible.Value = 1 Or Cible.Value = "1" Then
            Cible.Offset(0, 19).Select
        End If
    End If
End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
314 611
Messages
2 111 147
Membres
111 051
dernier inscrit
MANUREVALAND