Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

selection de cases

  • Initiateur de la discussion Florent
  • Date de début
F

Florent

Guest
Bonjour le forum,

Volà ce que je souhaiterai faire et qui me donne plein de noeuds dans le cerveau


si j'inscrit quelque chose dans la cellule A1 , il faudrait que les cellules A2,A3 et A4 soit vide
Si j'inscrit quelque chose dans la cellule A2, il faudrait que les cellules A1,A3 et A4 soit vide
Ect

Un peu le systeme de bouton d'option

Est ce que c'est possible et comment ?


Merci d'avance à tous

Florent
 
F

Florent

Guest
hello gerard,

Merci pour ce debut de solution et cela fonctionne presque comme je le souhaitais.
le petit truc que j'ai peut être mal expliqué et ne fonctionne pas dans la démo c'est que si quelque chose est inscrit en A1 et que j'inscris quelque en A2 cela doit éffacer ce qui est inscrit en A1.

si tu as une suite à la solution que tu propose ( ou quelq'un d'autre qui suit ce post à une solution )

encore merci

Florent
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Florent, Gérard,

Ci-joint un exemple qui devrait répondre à ton besoin.

Le code utilisé est le suivant : Cordialement, [file name=PourFlorent.zip size=14032]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PourFlorent.zip[/file]
 

Pièces jointes

  • PourFlorent.zip
    13.7 KB · Affichages: 26

andré

XLDnaute Barbatruc
Salut à vous,

Excellent, de cela je vais pouvoir m'en servir !

MDF, petite question.
Tu sais que la macro, ce n'est pas ma tasse de thé (lol).
Comment puis-je modifier le code au cas où les cellules ne sont pas contiguës.
Exemple : la plage A1:A4 deviendrait A1:A2 et A4:A5 (en A3 j'ai une formule qui ne peut pas être effacée).
Donc je dois remplacer deux fois Range('A1:A4') par ...

Merci d'avance.
Ândré.
 

andré

XLDnaute Barbatruc
Resalut,

Heureusement que je n'ai pas encore la réponse car ma question était incomplète !

En réalité, je souhaite appliquer cette procédure sur 4 colonnes, mais non contiguës, par exemple D, E, G et H, la colonne F étant réservée à des formules.
Donc si j'encode une valeur en E5, les valeurs en D5, G5 et H5 sont effacées.
Idem pour les autres lignes.

Si cette colonne intermédiare F devait poser problème, je puis toujours la déplacer.

Bon début de week-end.
Ândré.
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir André, le Forum

Ci-joint l'exemple adapté pour essayer de répondre à ta demande... je suis parti sur le même principe, pour une même ligne une saisie et une seule autorisée en colonnes D, E, G ou H...

J'ai utilisé le code ci-dessous : Cordialement, [file name=SaisieAlternee.zip size=16094]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SaisieAlternee.zip[/file]
 

Pièces jointes

  • SaisieAlternee.zip
    15.7 KB · Affichages: 17

andré

XLDnaute Barbatruc
Salut mDF,

Merci beaucoup !
Je te fais un petit exemple en cours de journée pour te montrer exactement à quoi cela va me servir.
Peut-être que cela pourra en intéresser d'autres ou que quelqu'un aurait une idée lumineuse pour encore améliorer la procédure.

A tantôt.
Ândré.
 

andré

XLDnaute Barbatruc
Resalut mDF,

Je me suis très fort faché (contre moi-même !).

Il est évident que les colonnes dont question ont des en-têtes !
Comment n'y avais-je pas pensé.

Que dois-je faire pour que cette macro ne fonctionne qu'à partir de la 4ième ligne (par exemple) ?

Je suppose que tu vois le problème.
C'est promis, plus jamais je ne m'énerverrai à l'encontre de quelqu'un qui ne pose pas une question précise et complète !

Cela me rappelle une célèbre réponse d'un ancien premier ministre belge (Achille Van Acker) à un journaliste qui lui demandait s'il avait bien refléchi à ce qu'il faisait : 'Non, moi j'agis d'abord, je reflechis ensuite !'.

Ândré.
 

andré

XLDnaute Barbatruc
Bonjour,

Avant tout deux choses : d'abord 'merci' et puis 'joyeuse fête de Pentecôte'.

Je finalise l'exemple et le place en pièce jointe, mais un peu de patience, j'ai une matinée assez chargée.

A tantôt.
Ândré.
 
F

Florent

Guest
bonjour à tous,

je ne pensais pas que mon petit pb serais autant suivi, cela fait vraiment plasir

j'ai voulu améliorer ce que je voulais faire en ajoutant de la couleur et une saisie automatique ( j'ai vu cela dans d'autre fil ) seulement j'ai de nouveau un petit souci

quand je selectionne une case , j'ai bien le 'X' qui se met automatiquement et j'ai bien la case qui se colore.Quand je clique sur une autre case , la 'X' change bien de place mais la couleur reste



ci joint ci dessous les macros ( ecritent par le forum et que j'essai d'adapter... :S )

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

Dim MaPlage As Range

Set MaPlage = Application.Intersect(Target, Range('B2:E2')) ' à adapter

If MaPlage Is Nothing Then
Exit Sub
ElseIf Target = '' Then
Target = 'X'
Selection.Interior.ColorIndex = 50
Else
Target = ''
Selection.Interior.ColorIndex = xlNone

End If
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
Dim V As Variant
'Si plage sélectionnée, sortir
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range('B2:E2')) Is Nothing Then
'Mémoriser la valeur de la cellule
V = Target.Value
If V <> '' Then
Application.EnableEvents = False
'Effacer la plage
Range('B2:E2').ClearContents
'Réaffecter la valeur à la cellule
Target.Value = V
Application.EnableEvents = True
End If
End If
End Sub


Merci d'avance de votre aide

Florent
 

myDearFriend!

XLDnaute Barbatruc
Bonjour Florent,

Ta demande est complètement différente par rapport au problème initial là !

En ce qui concerne le X 'automatique' lors de la sélection de la cellule, tu peux utiliser la procédure ci-dessous en lieu et place de celle que j'avais proposé plus haut (c'est l'évènement SelectionChange() qu'on utilisera cette fois et non Change()) : En ce qui concerne la couleur dans cette cellule, pas besoin de code VBA là, une simple Mise en Forme Conditionnelle sur la plage concernée me paraît amplement suffisant :[ol][li]Tu sélectionnes ta plage B2:E2.[/li]
[li]Menu Format / Mise en forme conditionnelle...[/li]
[li]Tu choisis 'La valeur de la cellule est', puis 'Différente de' et dans la zone d'édition tu indiques ='' [/li]
[li]Ensuite, tu choisis le format que tu veux et tu valides.[/li][/ol]
Cordialement,
 
F

Florent

Guest
Bonjour myDearFriend, le forum

C'est vrai, cela devient completement different mais c'est du surtout que mon projet evolue, qu'on trouve de nouvelles idées (surtout qu'en on lit les autres messages )

Merci encore pour cette nouvelle solution ( que j'aurais pu trouver tout seule , mais à force de vouloir faire des choses compliquées , on en oubli les choses simples )

Florent

 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…