Incrément Row offset

Résolu
Freeman_ Messages postés 3 Statut Membre -  
Freeman_ Messages postés 3 Statut Membre -
Bonjour à tous,

Je suis un nouveau né en ce qui concerne le VBA. Veuillez m'excusez si cette question a déjà été posée sur ce forum :

Je souhaiterai incrémenter la valeur de row qui se trouve dans offset en fonction d'une variable.

Existe-il un moyen de le transformer en variable ?

Private Sub Worksheet_Change(ByVal Target As Range)
    

    If Not Intersect(Target, [A1:B1]) Is Nothing Then
        Application.EnableEvents = False
        Range("C1").Offset(Target.Row - 1, Target.Column - 1) = Target.Value
        Application.EnableEvents = True
    End If

End Sub


Merci d'avance.

Que la Paix soit sur vous.

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    a supposer que c'est ce que vous voulez!!
    a=2
    b=5
    Range("C1").Offset(Target.Row - a, Target.Column - b) = Target.Value 
    1
    1. Freeman_ Messages postés 3 Statut Membre
       
      Merci f894009 ! Que Dieu vous bénisse. Cela marche parfaitement.


      Si je puis me permettre est il possible de créer une plage variable dans la méthode Intersect ?

      En effet, je souhaiterais faire varier [A1:B1] comme cela par exemple "Cells(n,1) Cells(n,2)". Mais je n'arrive pas à trouver la bonne syntaxe. Est ce que Intersect peut intégrer d'autres arguments que des plages fixes ?

      Paix.

      Private Sub Worksheet_Change(ByVal Target As Range)

      Dim a As Integer
      Dim b As Integer

      a = 2
      b = 5

      If Not Intersect(Target, [A1:B1]) Is Nothing Then
      Application.EnableEvents = False
      [Feuil1!E5].Offset(Target.Row - a, Target.Column - b) = Target.Value
      Application.EnableEvents = True
      End If
      End Sub
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Freeman_ Messages postés 3 Statut Membre
         
        Bonjour,

        Private Sub Worksheet_Change(ByVal Target As Range)
        
        Dim a As Integer
        Dim b As Integer
        
        a = 2
        b = 5
        n1 = 2
        n2 = 4
        
            If Not Intersect(Target, Range("A" & n1 & ":B" & n2)) Is Nothing Then
                Application.EnableEvents = False
                [Feuil1!E5].Offset(Target.Row - a, Target.Column - b) = Target.Value
                Application.EnableEvents = True
            End If
        End Sub
        0
      2. Freeman_ Messages postés 3 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        Ça marche ! Merci beaucoup f894009 !
        0