Bonjour à toutes et à tous,
Je suis à la recherche d'un moyen qui me permettrait de définir un Range issu de deux blocs non contigus
En effet, dans le code ci-dessous (largement inspiré par l'aide précieuse du forum), j'utilise un range pour détecter un changement de valeur dans les cellules
Pour faire simple,
si en onglet "Saisie" colonne B on trouve une entrée identique à celle figurant en onglet "Activités" colonne A, alors on colle unité et prix correspondants
Jusque-là je sais faire
MAIS
en onglet "Saisie" colonne B, les valeurs proviennent de ce qu'il y a en "Activités" ou "Frais_généraux"
si bien que mon range de recherche, actuellement issu de l'onglet "Activités" ne prend pas ce qu'il y a en onglet "Frais_généraux"
Pour différentes raisons, je ne peux pas fusionner "Activités" et "Frais_généraux" (le présent exemple est épuré pour se focaliser sur le problème mais il y a d'autres implications qui font que Activités et Frais_généraux doivent rester 2 feuilles distinctes)
Donc ma question serait :
Peut-on créer un range issu de deux plages non consécutives ? Comment ? ou doit-on procéder tout autrement ?
J'ai cherché un peu partout (union ? …) mais je n'y arrive pas …
Quelqu'un a-t-il une idée comment définir ActivitesToutesColonnes qui pointeraient dans les 2 feuilles ?
Merci d'avance pour vos lumières
Je suis à la recherche d'un moyen qui me permettrait de définir un Range issu de deux blocs non contigus
En effet, dans le code ci-dessous (largement inspiré par l'aide précieuse du forum), j'utilise un range pour détecter un changement de valeur dans les cellules
Pour faire simple,
si en onglet "Saisie" colonne B on trouve une entrée identique à celle figurant en onglet "Activités" colonne A, alors on colle unité et prix correspondants
Jusque-là je sais faire
MAIS
en onglet "Saisie" colonne B, les valeurs proviennent de ce qu'il y a en "Activités" ou "Frais_généraux"
si bien que mon range de recherche, actuellement issu de l'onglet "Activités" ne prend pas ce qu'il y a en onglet "Frais_généraux"
Pour différentes raisons, je ne peux pas fusionner "Activités" et "Frais_généraux" (le présent exemple est épuré pour se focaliser sur le problème mais il y a d'autres implications qui font que Activités et Frais_généraux doivent rester 2 feuilles distinctes)
Donc ma question serait :
Peut-on créer un range issu de deux plages non consécutives ? Comment ? ou doit-on procéder tout autrement ?
J'ai cherché un peu partout (union ? …) mais je n'y arrive pas …
Quelqu'un a-t-il une idée comment définir ActivitesToutesColonnes qui pointeraient dans les 2 feuilles ?
Merci d'avance pour vos lumières
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim dernlig As Long
Dim lastline As Long
Dim ActivitesToutesColonnes As Range
Dim RubriquesDansSaisie As Range
Dim Cellule As Variant
dernlig = Sheets("Saisie").Range("B" & Rows.Count).End(xlUp).Row
Set RubriquesDansSaisie = Sheets("Saisie").Range("B2:B" & dernlig)
lastline = Sheets("Activités").Range("A" & Rows.Count).End(xlUp).Row
Set ActivitesToutesColonnes = Sheets("Activités").Range("A2:C" & dernlig)
If Not Intersect(Target, RubriquesDansSaisie) Is Nothing Then
For Each Cellule In ActivitesToutesColonnes
If Cellule = Target Then
Target.Offset(0, 1) = Cellule.Offset(0, 1)
Target.Offset(0, 2) = Cellule.Offset(0, 2)
Exit For
End If
Next Cellule
End If
End Sub