affichage automatique

  • Initiateur de la discussion Initiateur de la discussion ancat
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

ancat

Guest
Bonsoir,

en désespoir de cause, je n'arrive pas a trouver ....
je demande ici votre aide

Voila mon problème, j'ai un fichier du type de la pièce jointe(en plus gros mais c'est des repetitions.

Partons pour la première ligne:

Je voudrais que lorsqu'à la validation de la donnée que je saisis dans la première colonne, il s'affiche un "1" dans la seconde colonne
Et que dans la troisième colonne s'affiche le premier choix de ma liste de choix c'est à dire "moderne".

Enfin je désirais que cela s'effectue sur tous les lignes...

Comment faire?

Dans l'attente d'une réponse qui me remonteras le moral.
Je vous dis merciiiiiiii.

Bye Ancat
 

Pièces jointes

Bonsoir Ancat,

si j'ai bien compris ton pb, il te suffit de placer ces formules :

en B2 : =SI(A2>0;1;" ")
en C2 : =SI(B2>0;"Moderne";" ")

Ensuite tu recopies ces formules vers le bas.

Est-ce cela que tu veux faire ?

@+ Dan
 
Salut Ancat, salut Dan salut le forum,

C'est la même solution que Dan version commentée.

J’ai utilisé des formules conditionnelles dans les colonnes B et C. Je te les détaille si tu n’as pas trop l’habitude, la syntaxe est =Si(condition;valeur si condition vrai;valeur si condition fausse)
Dans B : =Si(A2="";"";1) qui se traduit par : Si A2 est vide ("") ; alors égale à vide ; sinon égal à 1.
Dans C : Si(A2="";"";E8) qui se traduit par : Si A2 est vide ("") ; alors égale à vide ; sinon égal à cellule E8. J’ai été obligé d’annuler la validation pour écrire les formules puis de la remettre. Recopier ces formules vers le bas.

Le problème est que quand tu choisis dans la colonne C une autre valeur que moderne cela efface la formule et je n’ai malheureusement pas de solution à ce problème.

À plus,

Robert
 
Rebonsoir,

je n'ai qu'un mot à dire GENIAL,.................................;

MERCI BEAUCOUP, je cherchais beaucoup plus compliqué,...

BYE Ancat
PS:Si vous trouvez une solution pour que la formule reste lors d'un choix dans une liste faites moi signe,je cherche de mon côté et encore merci...
 
Re salut Ancat, Dan, salut le forum,

Une solution avec VBA qui permet de supprimer la formule (et la validation)dans la colonne C puisque c'est le code qui va le faire si la cellule de la colonne A est non vide.

Le problème est qu'il faut que tu copies le code ci-dessous dans un endroit précis. Si tu n'as jamais ouvert l'Éditeur Visual Basic, tu risques d'être un peu désorientée. Mais si tu suis à la lettre la manip ci-dessous tu n'auras pas de problème.
Copie le code ci-dessous. Ouvre ton fichier original, ouvre l'Éditeur Visual Basic ([Alt]+[F11]), il se compose de deux parties à gauche et d'un grand cadre à droite. Dans la partie en haut à gauche, double-clique dans la feuille contenant ton tableau (dans le fichier test.xls c'est la Feuil1 (Feuil1)). Maintenant colle le code dans le grand cadre de droite.

À plus, Robert

Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque modification
'cond1tion 1 : n'agit que si la modification a lieu dans la colonne A
If Not Application.Intersect(Target, Range("A2:A" & Range("A65536").End(xlUp).Row)) Is Nothing Then

If Target.Value <> "" Then 'condition 2 :si cellule active différente du vide
Target.Offset(0, 2) = "moderne" 'écrit "moderne" deux cellules à coté
With Target.Offset(0, 2).Validation 'crée la validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$E$8:$E$11"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Else 'sinon (si tu effaces par exemple)
With Target.Offset(0, 2) 'efface valeur et validation de la deuxième cellule à coté
.Value = ""
.Validation.Delete
End With
End If 'fin condition 2

End If 'fin condition 1
End Sub
 
Encore moi... re à tous,

Si tu dois utiliser le VBA autant qu'il fassse tout... colle ou remplace (voir méthode dans post précédent) les codes ci-dessous.

Plus besoin de formules ni en B ni en C. Tu tapes juste le nom du CD et tu choisis le style.

Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque modification
'cond1tion 1 : n'agit que si la modification a lieu dans la colonne A
If Target.Address = "$A$1" Then Exit Sub 'sauf pour A1
If Not Application.Intersect(Target, Columns(1)) Is Nothing Then

If Target.Value <> "" Then 'condition 2 :si cellule active différente du vide
Target.Offset(0, 1).Value = 1 'écrit 1 une cellule à coté
Target.Offset(0, 2) = "moderne" 'écrit "moderne" deux cellules à coté
With Target.Offset(0, 2)
With .Validation 'crée la validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$E$8:$E$11"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
.Select
End With
Else 'sinon (si tu effaces par exemple)
Target.Offset(0, 1).Value = "" 'efface le 1
With Target.Offset(0, 2)
.Value = "" 'efface le style
.Validation.Delete 'supprime la validation
End With
End If 'fin condition 2

End If 'fin condition 1
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
421
  • Question Question
Microsoft 365 Tri automatique
Réponses
8
Affichages
787
Retour