Disparition d'une variable de la liste déroulante

Bonjour à tous, j'ai un problème. il y a parfois une variable qui disparait de la liste déroulante de mes variables, la premiere variable sur la liste souvent.

Comment puis je régler ça? Aidez-moi svp!

un bout de code ou plus de détail sur le problème svp

En fait, j'ai souvent ce problème de bug :

"Sheets("Donnees").PivotTables("Donnees").PivotFields("Compagnie d'assurances").CurrentPage = concurrent" avec Concurrent = "Toto". Maintenant quand je vais sur le tcd "Donnees", je vois que le concurrent = "Toto" a disparu de la liste déroulante.

en faite sa serai bien d'avoir un code pour savoir comment vous avez gérer vos données et ainsi apporter des modifications ou autres

Le code que j'utilise :

Sub medianeville()

For Each c In Sheets("Profil").Range("a15:a30")

Dim concurrent As String

concurrent = c

Sheets("Donnees").PivotTables("Donnees").PivotFields("Compagnie d'assurances").CurrentPage = concurrent

Sheets("ville").Cells(13, 2 + i).Value = concurrent

Sheets("ville").Cells(14, 2 + i).Value = Sheets("Donnees").Cells(13, 7).Value

i = i + 1

Next c

Sheets("Donnees").PivotTables("Donnees").PivotFields("Compagnie d'assurances").CurrentPage = "(Tous)"

Sheets("ville").Cells(13, 2 + i).Value = "Tarif global marché"

Sheets("ville").Cells(14, 2 + i).Value = Sheets("Donnees").Cells(13, 7).Value

End Sub

La variable "i" est initialiser dans la boucle "for each" donc après que la boucle "for each" se termine la variable reprend sa valeur de départ (c'est-à-dire vide)

à tester :

dim i as integer

for each 
....

la ligne "Sheets("ville").Cells(13, 2 + i).Value = concurrent" (1er fois de la boucle for each)

et la ligne Sheets("ville").Cells(13, 2 + i).Value = "Tarif global marché"

écrivent sur la même cellule d'ou la disparition de ta 1er valeur dans la liste déroulante

J'avais essayé ça mais ça n'a pas marché!

Je n'ai pas compris :

la ligne "Sheets("ville").Cells(13, 2 + i).Value = concurrent" (1er fois de la boucle for each)

et la ligne Sheets("ville").Cells(13, 2 + i).Value = "Tarif global marché"

écrivent sur la même cellule d'ou la disparition de ta 1er valeur dans la liste déroulante

la ligne "Sheets("ville").Cells(13, 2 + i).Value = concurrent" (1er fois de la boucle for each) à ce moment la i =vide(=0)

en gros cells(13,2).value = concurrent

en sortant de la boucle "for each" la variable "i" reprend sa valeur de départ ( = vide)

donc au moment ou tu reutilise cette variable

Sheets("ville").Cells(13, 2 + i).Value = "Tarif global marché"

cela reviens à faire cells(13,2).value = "Tarif global marché"

donc tu viens d'écraser la 1er valeur de ta liste déroulante

Dans ce cas, qu'elle serait le bon code à écrire?

Bonjour,

en sortant de la boucle "for each" la variable "i" reprend sa valeur de départ ( = vide)

Ah bon ?

tu as vraiment testé et constaté ça ???

eric

Je comprends ce que vous dites mais dans ce cas, qu'elle serait le bon code à écrire?

puis je te demander à quoi te sert cette ligne :

Sheets("Donnees").PivotTables("Donnees").PivotFields("Compagnie d'assurances").CurrentPage = concurrent

oui eriiic je vien de teste et tu a raison j'ai du confondre avec un autre langage

désolé pour cette fausse information

Sheets("Donnees").PivotTables("Donnees").PivotFields("Compagnie d'assurances").CurrentPage = concurrent, feuille Donnees( le resultat des choix de l'utilisateur); tcd (Donnees); le nom du champs "Compagnie d'assurances" qui contient une liste de concurrent

Rechercher des sujets similaires à "disparition variable liste deroulante"