Change (ByVal)

Arpette

XLDnaute Impliqué
Bonsoir à toutes et à tous,
Je souhaite renvoyer les saises de la page 5 vers la page 6.
Je cherche la dernière ligne vide de la page 6 à partir de A55.
Ensuite je souhaite que ma dernière ligne prenne la valeur de l'intersection, mais j'ai une erreur.
Merci de votre aide.

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plage, Plage1, Intersection As Range, DernLigne As Long

If Application.Intersect(Target, Range("B9:B41")) Is Nothing Then Exit Sub 'limite l'action a la plage B9:B41 de la "Page 5"
    
  DernLigne = Sheets("Page 6").Range("A55").End(xlUp).Row + 1 'cherche dernière ligne de la "Page 6"
   
    Set Plage = Range("B9:B41")
    Set Intersection = Intersect(Target, Plage)
    If Not (Intersection Is Nothing) Then
        
     DernLigne = Intersection   'Je veux affecter à DernLigne la valeur d'Intersection
                                'Message d'erreur incompatibilité de type
    
    Else
       
    End If
        
End Sub
 
Dernière édition:

Arpette

XLDnaute Impliqué
Re : Renvoyer valeur d'une page à une autre

Rebonsoir, j'ai modifié le code, plus d'erreur, mais la valeur n'est pas revoyée:(
Merci de votre aide.
@+
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plage, Plage1, Intersection As Range, DernLigne As Long

If Application.Intersect(Target, Range("B9:B41")) Is Nothing Then Exit Sub 
                                           'limite l'action a la plage B9:B41 de la "Page 5"
    
 DernLigne = Sheets("Page 6").Range("A55").End(xlUp).Row + 1 'cherche dernière ligne de la "Page 6"
  Plage1 = DernLigne 'Plage1 prend la valeur de DernLigne
    Set Plage = Range("B9:B41")
    Set Intersection = Intersect(Target, Plage)
    If Not (Intersection Is Nothing) Then
        
     Plage1 = Intersection   'Plage 1 prend bien la valeur, mais ne l'affiche pas en page 6
    
    End If
        
End Sub
 

Arpette

XLDnaute Impliqué
Re : Renvoyer valeur d'une page à une autre

Rebonsoir, comme pas de réponse, je joints un fichierce sera peut-être plus facile à comprendre.
Merci de votre aide
@+
 

Pièces jointes

  • Classeur1.xlsm
    15 KB · Affichages: 44
  • Classeur1.xlsm
    15 KB · Affichages: 46
  • Classeur1.xlsm
    15 KB · Affichages: 42

Arpette

XLDnaute Impliqué
Re : Change (ByVal)

Bonsoir Kjin, c'est vrai qu'au début parle du fichier d'origine et ensuite j'attache un fichier test mais le principe reste le même. J'ai fini par trouvé, comme ceci, ça m'a l'air correcte
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage  As Range
Dim Plage1 As Range
Dim DernLigne As Integer

'si le changement a lieu ailleurs que dans la colonne B ou hors des lignes 9 à 41, sort de la procédure
If Intersect(Target, Range("B9:B41")) Is Nothing Then Exit Sub 'limite l'action a la plage B9:B41 de la "Page 5"

With Sheets("Page 6") 'prend en compte l'onglet "Page 6"
  DernLigne = .Range("A55").End(xlUp).Row + 1 'définit la dernière ligne éditée de la colonne 1
    Set Plage1 = .Range("A" & DernLigne) 'définit la plage plage1
End With 'fin de la prise en compte de l'onglet "Page 6"
    
    Plage1 = Target.Offset 'renvoi la valeur Intersect

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 467
Messages
2 088 679
Membres
103 918
dernier inscrit
comite des fets allonzier