Empécher éffacement ou deplacement de cellules

chatroc

XLDnaute Junior
J'ai réalisé pour une toute petite bibliothèque cantonnalle, un programme sous excell pour gérer les préts de livre , les lecteurs , les livres , les archives etc..
Lorsque un lecteur rend un livre, il suffit de sélectionner la cellule correspondant au titre du livre et au lecteur , dans la colonne "Date de retour", de cliquer sur le bouton "DATE RETOUR" qui commande une macro.
Cette macro met la date du jour, sélectionne toute la ligne du tableau et active la copie (ce qui met la ligne en surbrillance), il suffit , alors de cliquer su "valider retour" pour que la ligne soit coupée et transféré aux archives (une feuille "archives")
Mon problème, c'est que les bénévoles qui gèrent la bibliothèque ne maitrisent pas tous l'ordinateur et excel; il s'ensuit que certains se trompent et sélectionnent la cellule du titre ("DATE DE RETOUR") ce qui a pour effet de transférer la ligne dans les archives et donc d'effacer la ligne de titres dans la "GESTION des PRETS"
J'ai essayé avec ; DONNEES, Validation, Personnalisés mais ce n'est pas éfficace contre la macro

MERCI à tous pour cet excélent forum
et MERCI spécialement à celui qui pourra me dépanner
 

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

Bonjour Yves
J'ai consulté ton message avec un peu de retard car je fais la tournée de mes petits enfants disséminés dans le sud de la France.
J'ai beaucoup apprécié les explications que tu me donnes et qui me permettent d'approcher un peu mieux les macros, aussi, dés que je serai de retour chez moi, je me remettrai à mes travaux.
En attendant d'arriver au niveau du petit orteil de la plupart des habitués du Forum , MERCI beaucoup à Yves , à Pierrot et à tous ceux qui distribuent si chaleureusement leur aide .

A+ Amicalement, Noel
 

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

Bonjour Yves et au forum
Etant absent quelques jours, je viens de prendre connaissance de ton explication qui m'aide à comprendre les macros et je t'en remercie .
Mais comme je ne suis pas doué j'aurai besoin encore de conseils :
La macro qur tu m'as expliquée et reécrite marche mais j'aurai voulu la combiner avec un MsgBox demandant de confirmer ou d'annuler
Je crois cependant que ton premier exemple avec un UserForm est encore meilleur A CONDITION de pouvoir le lancer sur le TITRE du livre ( au lieu de l'emprunteur) et de mettre les formats dates : j/m/aa (la bibliotheque n'a qu'un ecran de 14 pouces)

Merci encore Noel
 

Pierrot93

XLDnaute Barbatruc
Re : Empécher éffacement ou deplacement de cellules

Bonjour Noel, Yves

petite macro ci dessous qui demande la confirmation du lancement de ta macro, à mettre en début de procédure, si tu réponds NON tu sors de la proc. :

Code:
Sub test()
Dim confirm As Integer

confirm = MsgBox("Voulez vous lancer la macro ?", _
    vbQuestion + vbYesNo, "Titre MSG BOX")

If confirm = vbNo Then
    MsgBox ("Alors je ne fais rien !!! ")
    Exit Sub
End If

End Sub

Bonne journée @+
 

ziopizza

XLDnaute Occasionnel
Re : Empécher éffacement ou deplacement de cellules

Bonjour Noel ,Pierro93,

Un nouveau fichier joint, avec sélection dans la colonne titre de livres,
et format de date 1/1/01
@+Yves
 

Pièces jointes

  • empecher-effacement-ou-deplacement-de-cellules-gestion_des_lecteurs.zip
    36.3 KB · Affichages: 30

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

[Bonjour Yves , Bonjour Pierrot, Bonjour à tous
D'abord Merci à Yves , j'ai reuusi à adapter son uselForm à mon programme et ça fonctionne trés bien.
J'espère que vous n'allez pas m'envoyer au Diable, mais ça fonctionne tellement bien que ça me donne envie de perfectionnner encore .
Au début de mes essais pour réaliser ce programme , j'avais posé une question pour rechercher les titres , et quelqu'un (dont je n'ai pas retrouvé le message) m'avait envoyé un exemple (que j'ai conservé) et qui me plait bien, mais , à cet époque je ne me suis pas senti le courage de l'adapter à mon programme car je n'avais aucune notion du VB
Actuellement j'en connais guère plus.... Mais , peut être, qu'avec votre aide, je pourrai y arriver, à condition que j'arrive à réduire sufisament le volume !!!

Excusez moi, je me fait tout peti petit, et je vous remercie même si vous m'envoyer "païtre"le gazon qui est gelé !

Je vais essayer de joindre un fichier zip, mais ce n'est pas gagné, car je n'arrive pas à le compresser sufisament même aprés avoir supprimé les 3/4 du fichier

Desole ça ne marche pas j'essayerai demain
 
Dernière édition:

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

Rebonjour à tous
je ne sais pas pourquoi hier je ne suis pas arrivé à reduirs suffisament mon fichier pour l'envoyer zipé, je pense que je devais avoir des liaison entre les macros et d'autres fichiers !!!
Aujourd'hui j'ai tout recommencé et je suis arrivé à le reduire
Ce serait bien si j'arrivai à faire marcher l'UserForm2 commandé par "RESTITUTION"

Merci à tous
 

Pièces jointes

  • biblio essai.zip
    29.1 KB · Affichages: 24
  • biblio essai.zip
    29.1 KB · Affichages: 27
  • biblio essai.zip
    29.1 KB · Affichages: 18

ziopizza

XLDnaute Occasionnel
Re : Empécher éffacement ou deplacement de cellules

Bonsoir Noel,
Un exemple de gestion de livres.
Dis moi ce que tu en penses.
@+ Yves
Oups on se croise!!
Je regarde ton fichier joint
 

Pièces jointes

  • GESTION_des_lecteurs.zip
    40.1 KB · Affichages: 16
  • GESTION_des_lecteurs.zip
    40.1 KB · Affichages: 19
  • GESTION_des_lecteurs.zip
    40.1 KB · Affichages: 16
Dernière édition:

ziopizza

XLDnaute Occasionnel
Re : Empécher éffacement ou deplacement de cellules

Bonsoir Noel,le Forum,

Pas sur d'avoir compris,pour l'utilisation de ton Userform regarde fichier joint.
Salut Yves
 

Pièces jointes

  • biblio essai.zip
    32.6 KB · Affichages: 22
  • biblio essai.zip
    32.6 KB · Affichages: 25
  • biblio essai.zip
    32.6 KB · Affichages: 25

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

Bonjour Yves

T'as bien compris mon Userform pour la gestion des prêts et des rendus, c'est exactement ce que j'essayais de faire , mais ma pauvre vieille cervelle a du mal à ingurgiter le VBA.

Pour ce qui est de la gestion des AUTEURS, ton UserForm me plait bien à condition de l'ameliorer, mais je ne m'en sent pas capable tout seul....
En fait je préfere avoir une LISTE des auteurs (Un auteur écrit souvent plusieurs livres , et puis ils ont souvent des noms "à coucher dehors avec un billet de logement" et ce n'est pas bon en cette saison !!!)

Ensuite avec ton Userform en ayant dans la case "AUTEURS", une liste modifiable ( Il faudrait que cette liste soit activée par la ou les premieres lettres du nom, et, lorsque l'auteur n'est pas encore créé, qu'on puisse taper son nom dans la case et que son nom soit copié dans la liste)

On taperait ensuite le titre du livre

Il faut une case suplémentaire pour le "CODE ETAGERE" avec liste deroulante(beaucoup de livres et d'auteurs dans les mêmes rangées d'étagères)

Enfin on renseignerait, éventuellement, le code bibliothèque (code barre ou code ISBN)

Aprés enregistrement il faudrait activer un classement alphabétique des auteurs et des titres

2 AUTRES questions : Je ne comprends pas pourquoi en partant de mon Fichier qui fait environ 600ko, je supprime des feuilles et des macros , mais je n'arrive pas à rduire sa taille ou si peu(500ko) alors qu'en faisant un autre fichier avec PLUS DE données que ce qui reste du premier je n'ai que 80ko

Comment ecrire "Selection. Copy Destination:=Dt " pour ne copier que les Valeurs des cellules et non les validations et les messages (collage spécial en Vba) ( la selection contient une ligne)

Un UserForm comme celui que tu m'as fait pour les livres rendus conviendrait également parfaitement pour enregistrer les prêts avec : une liste modifiable faisant référence à la feuille "Gestion des Lecteurs", une autre faisant reference à "Auteurs" dans la feuille "Gestion des Auteurs", une Autre liste "Titres" dans "Gestion des Auteurs" également et, enfin une case avec la date du jour de saisie automatique
Je vais m'y essayer avant de crier au secours !!!!

Je joins un Zip de ma feuille de "Gestion des Auteurs" actuelle

Je pense que lorsque tout fonctionnera super , je pourrai, si tu est d'accord , mettre le programme sur le forum à disposition de ceux qui ont un projet similaire (pour gerer une bibliothèque de quartier , par exemple

En tout cas merci pour ton aide
 

Pièces jointes

  • Gest_Auteurs.zip
    27.9 KB · Affichages: 20

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

Bonjour Yves
Ton UserForm fonctionne trés bien sur le fichier que tu m'as envoyé, mais je n'arrive pas à le faire marcher sur mon fichier

Il s'installe bien mais il n'y a aucune liste dans la LisBox1 et donc également dans les autres ListBox

J'ai pourtant fait des copier coller pour être sur de ne pas me tromper
J'ai remplacé = "1!F9:F&lig" par "Gestion des prêts!F9:f....;le nom de ma feuille
j'ai essayé en renommant ma feuille comme toi : 1 ça ne marche pas non plus

J'ai plusieurs UserForm et ils'agit de l'UserForm2, Faudrait t'il preciser devant chaque LisBox : UserForm2 ListBox1 ? par exemple

Excuse moi , je ne suis vraiment pas doué, tu me fais tout le "boulot" et je suis incapable de le mettre en pratique

Merci pour tout et à bientôt (j'espère)
 

ziopizza

XLDnaute Occasionnel
Re : Empécher éffacement ou deplacement de cellules

Bonjour Noel,le Forum,

Je te renvoie le fichier plus propre, pour le passer dans ton application,exporte-le sur ton bureau.
et ensuite importe-le dans ton fichier.

En VBA : Dans mon application, Selectionner l'Userform2
1. fichier exporté

Dans ton application,
2. fichier Importé.
de cette façon tu n'as pas à copier, coller

lg = Range("f65536").End(xlDown).Row
ListBox1.RowSource = "Gestion des préts!f9:f" & lg<-Ici la propriété RowSource n'accepte pas les espace,et VBA les accents circonflexes
Ecrire non de feuille : "Gestiondespréts" ou autres

@+Yves
PS: Tu ne me déranges pas mais je suis toujours un peu long à répondre,boulot oblige
 

Pièces jointes

  • biblio essai.zip
    28.6 KB · Affichages: 24
  • biblio essai.zip
    28.6 KB · Affichages: 23
  • biblio essai.zip
    28.6 KB · Affichages: 20
Dernière édition:

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

ListBox1.RowSource = "Gestion des préts!f9:f" & lg<-Ici la propriété RowSource n'accepte pas les espace,et VBA les accents circonflexes
Ecrire non de feuille : "Gestiondespréts" ou autres

Oui l'erreur était bien la; avec "Gestion_des_prêts" ça marche sur mon application, par contre ça ne convient pas car dans ma colonne d'emprunteur il y a beaucoup trop de lignes et il faudrait filter chaque colonne en fonction des éléments sélectinnés dans la colonne précedente.
Je t'envoie un fichier pour expliquer

Je vais regarder ton fichier joint

Merci a+
 

Pièces jointes

  • biblio essai reçule7dec.zip
    32.3 KB · Affichages: 18
Dernière édition:

ziopizza

XLDnaute Occasionnel
Re : Empécher éffacement ou deplacement de cellules

A à la place de ce code,
Private Sub UserForm_Initialize()
lg = Range("a65536").End(xlDown).Row
ListBox1.RowSource = "GestiondesAuteurs!a9:a" & lg
End Sub

Colle celui çi,
Private Sub UserForm_Initialize()
Dim tablo()
Dim c As Range
ReDim tablo(1 To 1)
''d'apres un code de jacques boisgontier
For Each c In Range("f9:f" & Range("f65536").End(xlUp).Row)
If IsError(Application.Match(c, tablo, 0)) Then
tablo(UBound(tablo)) = c
ReDim Preserve tablo(1 To UBound(tablo) + 1)
End If
Next c
ReDim Preserve tablo(1 To UBound(tablo) - 1)
Me.ListBox1.List = tablo
Me.TextBox2 = Date
End Sub
Salut Yves
 

chatroc

XLDnaute Junior
Re : Empécher éffacement ou deplacement de cellules

Bonjour Yves, Bonjour à tous

Je n'ai pas essayé le dernier code que tu m'as envoyé, car les derniers essais que j'ai fait sont tout à fait concluents : en fait il suffit de taper la 1° lettre du nom pour avoir la liste dans le cadre de l'UserForm
Pour ce qui est du volume de mon fichier, j'ai reussi à le réduire pas mal (de800ko à 200ko) en suivant des conseils que j'ai trouvé dans les archives du Forum...;Merci à l'internaute qui à donné les conseils

Un de mes plus gros problême actuel est d'empecher la COPIE des validations des cellules à chaque saisie d'un prêt ou d'un retour

Merci Yves pour toue la peine que tu te donnes
 

Discussions similaires

Statistiques des forums

Discussions
312 213
Messages
2 086 302
Membres
103 174
dernier inscrit
OBUTT