> Tous les forums > Forum Bureautique
 Effacer cellule par rapport a la valeur d'une autre
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
aiglon61
  Posté le 27/05/2015 @ 22:47 
Aller en bas de la page 

bonsoir a tous

je voudrais effacer la cellule colonne B de la feuille liste "qui contient libre"

si en feuille nouvelle ref la cellule J8 correspond a la même valeur que la cellule de la colonne A de la feuille liste

EN INCORPORANT AU CODE valider_nouvelle_donnée

Je joins un fichier exemple

http://cjoint.com/?0EBwUEqURxG

A+

AIGLON74

Publicité
ferrand
 Posté le 28/05/2015 à 00:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut,

Dans l'immédiat, tu as supprimé un End With avant la ligne fin = ... qu'il faut rétablir avant d'exécuter cette procédure si tu ne veux pas avoir quelque surprise désagréable lors du tri qui suit ! [parce que la référence de la plage à trier va se définir en décalage par rapport à B7 comme s'il s'agissait de A1 et le tri s'effectuerait sur C13:H...]

Le fait que tu en aies rajouté un en fin de procédure empêche sans doute une erreur d'exécution mais il vaudrait mieux une erreur qui ne fait pas de dégât puisqu'elle arrête tout...

Note également que les déclarations de variables doivent être systématiquement faites en début de procédure, avant toute autre instruction, cela évite des problèmes ultérieurs.

Pourquoi ne pas chercher dès le départ un emplacement libre dans la Liste ?

Maintenir la liste à jour en effaçant les "Libre" lors d'une insertion et en les rajoutant lors d'une suppression peut être fait, soit dans chacune des procédures, soit par une procédure auxiliaire (ce qui éviterait de surcharger les procédures d'actions principales avec des actions annexes). Il serait boon également de savoir si dans le cas où un emplacement est ajouté ou supprimé dans la base, si ce dernier n'est pas trouvé dans la feuille Liste, s'il convient de le rajouter automatiquement ou de seulement le signaler pour que tu le fasses manuellement.

Trop tard pour voir ça maintenant, je regarde demain.



Modifié par ferrand le 28/05/2015 00:56
ferrand
 Posté le 28/05/2015 à 13:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Une suggestion pour contrôler de plus près les emplacements : http://cjoint.com/?EECmTpuWKJa

La sélection de la cellule J8 affiche un ComboBox dont la liste déroulante permet de faire défiler la liste des emplacements consignés dans la feuille Liste. On voit donc ceux qui sont libres, et on peut sélectionner (ou taper si on le souhaite) l'emplacement libre voulu.

Lorsqu'un emplacement libre a été sélectionné (ou tapé), le ComboBox est masqué automatiquement. Un clic droit sur la cellule J8 permet également à l'utilisateur d'afficher et masquer alternativement le ComboBox (ce qui permet de le masquer dans les cas ou il ne se masque pas automatiquement, et de l'afficher sans avoir à déplacer la sélection).

Si l'utilisateur sélectionne (ou tape) un emplacement non libre, un message l'en avise et l'inscription en J8 est effacée. S'il tape un emplacement non répertorié dans la liste, un message lui demande s'il souhaite que cet emplacement soit ajouté à la liste : en cas de réponse positive, l'emplacement est ajouté à la liste, mentionné libre, et la liste est retriée.

On a donc ainsi l'assurance de ne lancer la procédure de nouvelle référence dans la base qu'avec un emplacement libre.

La procédure continue cependant de vérifier si le nouvel emplacement à enregistrer est bien absent de la base. Dans le cas où il ne l'est pas (erreur fortuite ayant maintenu ou rétabli la mention libre dans la liste pour un emplacement qui ne l'était plus), un message le signale, la liste est mise à jour en effaçant la mention libre en regard de l'emplacement concerné, et la cellule J8 est effacée pour permettre à l'utilisateur de choisir un autre emplacement.

Lorsque l'enregistrement est réussi, la liste est mise à jour (mention libre effacée).

Si la méthode convient, il restera à opérer une petite modif dans la précédure de suppression pour l'opération inverse (rétablir la mention libre pour l'emplacement supprimé de la base). La même procédure de mise à jour est prévue pour opérer cette opération...

Les procédures de gestion du ComboBox se trouvent dans le module de la feuille de calcul concernée. Des procédures auxiliaires sont ajoutées pour opérer un ajout dans la liste, mettre à jour la liste, et forcer le masquage du ComboBox (qui dans le cas d'un ajout se réaffiche, alors que l'emplacement inscrit en J8 étant valide, il devrait se masquer). La liste est par ailleurs nommée, en plage dynamique (nom qui s'adapte aux variations du nombre d'éléments de la liste), à voir dans le gestionnaire de noms.



Modifié par ferrand le 28/05/2015 13:26
ferrand
 Posté le 06/06/2015 à 13:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je vois que ma suggestion t'a rendu coi !

Bref ! il y manque toujours le complément (rapide à faire toutefois, mais je ne me souviens plus si je l'ai fait sur le modèle précédemment traité...)

Peu importe, ta problématique m'a lancé sur un exercice : ne conserver que les feuilles Accueil, Base et Liste, et procéder aux opérations au moyen d'un Userform (un seul Userform pour tout). Pour illustrer :

(Les TextBox s'affichent au survol des boutons.)

Je n'ai pas testé en détail encore, mais le Userform est conforme au lancement de chacune des opérations.

NB- Les images sont réduites par rapport aux dimensions réelles.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
162,11 €SSD Interne M.2 NVMe PCIe 4.0 Samsung 980 PRO 1 To à 162,11 € livré
Valable jusqu'au 18 Septembre

Amazon Allemagne fait une promotion sur le SSD Interne M.2 NVMe PCIe 4.0 Samsung 980 PRO 1 To qui passe à 157,50 € (avec la TVA ajustée). Comptez 4,61 € pour la livraison en France, soit un total de 162,11 € livré en France. On le trouve ailleurs à partir de 190 €. Ce SSD offre des taux de transfert de 7000 Mo /s en lecture et 5100 Mo/s en écriture. Une excellente affaire.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
109,99 €Ecran PC 24 pouces Lenovo Q24i-1L (FHD, IPS, HP, pied latéral) à 109,99 € (via ODR)
Valable jusqu'au 18 Septembre

Darty fait une promotion sur l'écran PC 24 pouces Lenovo Q24i-1L qui passe à 159,99 €. Or Lenovo rembourse actuellement 50 € pour l'achat de cet écran qui vous reviendra à 109,99 € après remboursement. 

Cet écran dispose d'une dalle IPS avec un rafraichissement de 4 ms et une fréquence de 75 Hz. Il possède des bords ultrafins et intègres des haut-parleurs (2x3W). Son pied latéral en métal vous permettra de mettre des choses sous l'écran. Connexion via VGA ou HDMI.


> Voir l'offre
77,98 €Kit de 16 Go (2x8Go) de mémoire DDR4 Crucial Ballistix 3200 MHz RGB à 77,99 €
Valable jusqu'au 17 Septembre

Cdiscount fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Crucial Ballistix 3200 MT/s CL16 à 77,99 € avec le code SEPT alors qu'on le trouve ailleurs à partir de 97 €. Vous pourrez personnaliser la palette de couleurs de votre ordinateur avec 16 LED RGB dans 8 zones sur chaque module.


> Voir l'offre

Sujets relatifs
interdire une valeur dans une cellule en fonction d'une autre cellu
rechercher une valeur de cellule suivant une autre
EXCEL MAJImpacter valeur cellule sur autre cellule
Récupérer 1 valeur d'1 cellule à 1 autre
Recopie cellule dans un autre classeur
afficher une cellule en fonction d'une autre cellule
modification automatique valeur cellule
valeur par défaut d'une cellule
Excel: valeur cellule impliquée dans calcul ailleurs -> connexions
transfert d'une cellule vers une autre
Plus de sujets relatifs à Effacer cellule par rapport a la valeur d''une autre
 > Tous les forums > Forum Bureautique