Perte de l'ascenseur de liste déroulante

Le
JP
Bonjour,

Un truc très bizarre.
J'ai dans une feuille la cohabitation d'une liste déroulante (validation =
de données) et un traitement de shapes.

Quand je lance la macro qui permet de traiter les shapes l'ascenseur de la =
liste déroulante ne s'affiche plus à la sélection de la cellule.
Si j'enregistre le fichier, elle réapparait comme par miracle.
C'est quoi ce truc là?

Est-ce que cela vous est déjà arrivé?

Merci des suggestions.

JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #26163582
Bonjour,
Ta liste déroulante est ausssi un shape. Peut-être que tu l'abîmes avec
ta macro ?
Cordialement.
Daniel


Bonjour,

Un truc très bizarre.
J'ai dans une feuille la cohabitation d'une liste déroulante (validation de
données) et un traitement de shapes.

Quand je lance la macro qui permet de traiter les shapes l'ascenseur de la
liste déroulante ne s'affiche plus à la sélection de la cellule. Si
j'enregistre le fichier, elle réapparait comme par miracle. C'est quoi ce
truc là?

Est-ce que cela vous est déjà arrivé?

Merci des suggestions.

JP
JP
Le #26163682
Bonjour Daniel,

La liste déroulante est dans une cellule.
Je tourne en rond depuis ce matin avec ce problème.
Quand une partie du code est en remarque, tout va bien.
Les lignes du code qui perturbent sont à mon sens celles-ci:

Sheets("periode").Select
Derligne = Range("A51").End(xlUp).Row
'efface les shapes de la colonne D
For Each cell In Sheets("Periode").Shapes
On Error Resume Next
If Not Intersect(cell.TopLeftCell, Sheets("Periode").Range("$D$11:$ D$" & Derligne)) Is Nothing Then
cell.Delete
End If
Next

' Affiche les shapes si il y a des valeurs dans la colonne A
For Each cell In Sheets("Periode").Range("A11:A" & Derligne)
If cell <> "" Then
Sheets("Periode").Shapes("ImgCCF").Select
Selection.Copy
cell.Offset(, 3).Select
Sheets("Periode").Paste
With Selection
.Left = cell.Offset(, 3).Left
.Top = cell.Offset(, 3).Top + 5
.Width = cell.Offset(, 6).Left - cell.Offset(, 3).Left
' .Height = cell.Offset(, 3).Height
End With
End If
Next

Même en supprimant on error resume next l'ascenseur disparait.

JP
DanielCo
Le #26163802
Bonjour Daniel,

La liste déroulante est dans une cellule.
Je tourne en rond depuis ce matin avec ce problème.
Quand une partie du code est en remarque, tout va bien.
Les lignes du code qui perturbent sont à mon sens celles-ci:

Sheets("periode").Select
Derligne = Range("A51").End(xlUp).Row
'efface les shapes de la colonne D
For Each cell In Sheets("Periode").Shapes
On Error Resume Next
If Not Intersect(cell.TopLeftCell,
Sheets("Periode").Range("$D$11:$D$" & Derligne)) Is Nothing Then
cell.Delete End If
Next

' Affiche les shapes si il y a des valeurs dans la colonne A
For Each cell In Sheets("Periode").Range("A11:A" & Derligne)
If cell <> "" Then
Sheets("Periode").Shapes("ImgCCF").Select
Selection.Copy
cell.Offset(, 3).Select
Sheets("Periode").Paste
With Selection
.Left = cell.Offset(, 3).Left
.Top = cell.Offset(, 3).Top + 5
.Width = cell.Offset(, 6).Left - cell.Offset(, 3).Left
' .Height = cell.Offset(, 3).Height
End With
End If
Next

Même en supprimant on error resume next l'ascenseur disparait.

JP



Ce n'est pas seulement l'ascenseur qui disparait c'est la liste
déroulante qui est un shape. Essaie :

Sheets("periode").Select
Derligne = Range("A51").End(xlUp).Row
'efface les shapes de la colonne D
For Each cell In Sheets("Periode").Shapes
On Error Resume Next
If Not Intersect(cell.TopLeftCell,
Sheets("Periode").Range("$D$11:$D$" & Derligne)) Is Nothing Then
msgbox cell.Name
End If
Next

Tu vas retrouver le nom de ta liste déroulante ("Drop Down n").

Daniel
MichD
Le #26163812
Bonjour,

Dans ta procédure, remplace cette ligne de code :
For Each cell In Sheets("Periode").Shapes

Par
For Each cell In Sheets("Periode").DrawingObjects
JP
Le #26163922
Daniel,

Rien trouvé d'autre que ImgCCF. ImgCCF correspondant au nom des mes shape s.

La liste de validation de données est toujours présente mais l'ascenseu r se volatilise. J'ai contrôlé en faisant Données/Validation de donn ées.

Ce qui est le plus surprenant, je trouve, c'est qu'en faisant "Enregistrer " ou CTRL+S, il réapparait.

JP
DanielCo
Le #26163912
Est-ce que tu peux mettre un classeur exemple sur cjoint.com ?
Daniel


Daniel,

Rien trouvé d'autre que ImgCCF. ImgCCF correspondant au nom des mes shapes.

La liste de validation de données est toujours présente mais l'ascenseur se
volatilise. J'ai contrôlé en faisant Données/Validation de données.

Ce qui est le plus surprenant, je trouve, c'est qu'en faisant "Enregistrer"
ou CTRL+S, il réapparait.

JP
MichD
Le #26163902
J'ai oublié de mentionner que les "Commentaires" sont aussi des shapes.
et si tu boucles sur tous les shapes, tu boucles aussi sur les commentaires
et il ne faut pas te surprendre si tu as des problèmes avec ces derniers
après l'exécution de la macro.
JP
Le #26164172
Bonjour Denis,

Trop fort!

Je n'ai pas eu de souci dans le cas présent avec les commentaires car je n'en avais pas dans cette page ;-)

Merci beaucoup à Daniel et toi de vous êtes penchés une fois de plus sur le problème.

Cordialement

JP
JP
Le #26172052
Bonsoir,

Je me permets de revenir vers vous car j'ai un soucis sur le placement des shapes.
Pas toujours, mais de temps en temps les shapes ne se positionnent pas corr ectement à l'écran. Ce qui est étrange, c'est qu'ils le sont lorsque je fais un aperçu impression. A l'écran non mais sur le papier oui.

Une idée!

JP
Publicité
Poster une réponse
Anonyme