Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Cellule liée à une liste déroulante

4 réponses
Avatar
Vallebarray
Bonjour,
Je voudrai déclarer en code que la cellule liée à une liste déroulante se
retrouve dans un autre onglet que ladite liste déroulante. Ca ne fonctionne
pas avec le code suivant :
If Cells(lig, col).Value = 3 Then
Sheets("Données").Select
With Selection '(sélection = shape
liste déroulante)
.ListFillRange = "Livres" ----------> OK, marche
.LinkedCell = "Calculs!Range("Cells(lig, col)")" ----------> Ne
marche pas
End With
End If

Pouvez vous m'aider ?
Merci
--
Le galèrien.

4 réponses

Avatar
Daniel.C
Bonjour.
"Calculs!Range("Cells(lig, col)")" est considéré comme une chaîne de
caractères. Essaie :
.LinkedCell = "Calculs!" & Cells(lig, col).Address
Cordialement.
Daniel
"Vallebarray" a écrit dans le
message de news:
Bonjour,
Je voudrai déclarer en code que la cellule liée à une liste déroulante se
retrouve dans un autre onglet que ladite liste déroulante. Ca ne
fonctionne
pas avec le code suivant :
If Cells(lig, col).Value = 3 Then
Sheets("Données").Select
With Selection '(sélection = shape
liste déroulante)
.ListFillRange = "Livres" ----------> OK,
marche
.LinkedCell = "Calculs!Range("Cells(lig, col)")" ----------> Ne
marche pas
End With
End If

Pouvez vous m'aider ?
Merci
--
Le galèrien.


Avatar
Vallebarray
Merci, mais ça ne marche pas, VBA retourne " 0$H$6 ", donc la chaîne
"Calculs!" est ignorée.
Entretemps j'ai trouvé une solution qui est boîteuse avec :

Sheets("Calcul").Select
Range(Cells(lig, col + 1), Cells(lig, col + 1)).Name = "Celliée"

If Cells(lig, col).Value = 1 Then
Sheets("Données").Select
With Selection
.ListFillRange = "Aucun"
.LinkedCell = "Celliée"
End With

ElseIf Cells(lig, col).Value = 2 Then.......

L'ennui, c'est qu'il n'est pas possible de changer les valeurs de la liste
déroulante en modifiant le contenu de la cellule liée.

--
Le galèrien



Bonjour.
"Calculs!Range("Cells(lig, col)")" est considéré comme une chaîne de
caractères. Essaie :
..LinkedCell = "Calculs!" & Cells(lig, col).Address
Cordialement.
Daniel
"Vallebarray" a écrit dans le
message de news:
Bonjour,
Je voudrai déclarer en code que la cellule liée à une liste déroulante se
retrouve dans un autre onglet que ladite liste déroulante. Ca ne
fonctionne
pas avec le code suivant :
If Cells(lig, col).Value = 3 Then
Sheets("Données").Select
With Selection '(sélection = shape
liste déroulante)
.ListFillRange = "Livres" ----------> OK,
marche
.LinkedCell = "Calculs!Range("Cells(lig, col)")" ----------> Ne
marche pas
End With
End If

Pouvez vous m'aider ?
Merci
--
Le galèrien.







Avatar
Daniel.C
Pas d'accord.
Regarde le classeur à l'adresse :
http://cjoint.com/?ggu0LzkgqS
Daniel
"Vallebarray" a écrit dans le
message de news:
Merci, mais ça ne marche pas, VBA retourne " 0$H$6 ", donc la chaîne
"Calculs!" est ignorée.
Entretemps j'ai trouvé une solution qui est boîteuse avec :

Sheets("Calcul").Select
Range(Cells(lig, col + 1), Cells(lig, col + 1)).Name = "Celliée"

If Cells(lig, col).Value = 1 Then
Sheets("Données").Select
With Selection
.ListFillRange = "Aucun"
.LinkedCell = "Celliée"
End With

ElseIf Cells(lig, col).Value = 2 Then.......

L'ennui, c'est qu'il n'est pas possible de changer les valeurs de la liste
déroulante en modifiant le contenu de la cellule liée.

--
Le galèrien



Bonjour.
"Calculs!Range("Cells(lig, col)")" est considéré comme une chaîne de
caractères. Essaie :
..LinkedCell = "Calculs!" & Cells(lig, col).Address
Cordialement.
Daniel
"Vallebarray" a écrit dans le
message de news:
Bonjour,
Je voudrai déclarer en code que la cellule liée à une liste déroulante
se
retrouve dans un autre onglet que ladite liste déroulante. Ca ne
fonctionne
pas avec le code suivant :
If Cells(lig, col).Value = 3 Then
Sheets("Données").Select
With Selection '(sélection =
shape
liste déroulante)
.ListFillRange = "Livres" ----------> OK,
marche
.LinkedCell = "Calculs!Range("Cells(lig, col)")" ----------> Ne
marche pas
End With
End If

Pouvez vous m'aider ?
Merci
--
Le galèrien.









Avatar
Vallebarray
Mes plus plates excuses, une erreur de syntaxe bien française (Adress au lieu
de Address) m'a planté dès ta première explication.
Ca marche maintenant tout bien, merci beaucoup.
--
Le galèrien.



Pas d'accord.
Regarde le classeur à l'adresse :
http://cjoint.com/?ggu0LzkgqS
Daniel
"Vallebarray" a écrit dans le
message de news:
Merci, mais ça ne marche pas, VBA retourne " 0$H$6 ", donc la chaîne
"Calculs!" est ignorée.
Entretemps j'ai trouvé une solution qui est boîteuse avec :

Sheets("Calcul").Select
Range(Cells(lig, col + 1), Cells(lig, col + 1)).Name = "Celliée"

If Cells(lig, col).Value = 1 Then
Sheets("Données").Select
With Selection
.ListFillRange = "Aucun"
.LinkedCell = "Celliée"
End With

ElseIf Cells(lig, col).Value = 2 Then.......

L'ennui, c'est qu'il n'est pas possible de changer les valeurs de la liste
déroulante en modifiant le contenu de la cellule liée.

--
Le galèrien



Bonjour.
"Calculs!Range("Cells(lig, col)")" est considéré comme une chaîne de
caractères. Essaie :
..LinkedCell = "Calculs!" & Cells(lig, col).Address
Cordialement.
Daniel
"Vallebarray" a écrit dans le
message de news:
Bonjour,
Je voudrai déclarer en code que la cellule liée à une liste déroulante
se
retrouve dans un autre onglet que ladite liste déroulante. Ca ne
fonctionne
pas avec le code suivant :
If Cells(lig, col).Value = 3 Then
Sheets("Données").Select
With Selection '(sélection =
shape
liste déroulante)
.ListFillRange = "Livres" ----------> OK,
marche
.LinkedCell = "Calculs!Range("Cells(lig, col)")" ----------> Ne
marche pas
End With
End If

Pouvez vous m'aider ?
Merci
--
Le galèrien.