XL 2019 Effacer contenu cellule VBA

Did25

XLDnaute Occasionnel
Bonjour le forum ,je cherche une solution pour pouvoir effacer un contenu de cellule mais tout en gardant sa liaison.
Dans mon code VBA ,j'utilise ceci pour effacer le contenu des cellules :
Ligne = Me.ComboBox1.ListIndex + 3
Rows(Ligne).ClearContents
Mais cela supprime aussi la formule de la cellule du genre :cellule A1 de la feuille 1 =A1 de la feuille 2.
Merci de votre aide
 
Solution
Bonjour ; @Did25
Bon à force de voir toutes ces anomalies illogiques !! j'ai repris dans un classeur Neuf !!! et comme par hasard tout semble nettement plus normal maintenant ; Un Problème intrinsèque du classeur ?? on ne peut savoir
En tout cas ne plus utiliser les précédents et repartir avec celui-ci
J'ai fait une trentaine de tests : tout ok , mais bon c'est toujours l'utilisateur final qui trouve la faille

Il faut aussi revoir ta liste validation "Destination" à ta sauce
J'attends ton retour

Did25

XLDnaute Occasionnel
J'ai remplacé ta sub efface qui n'était pas bonne
Reste à te pastiller à la paluche toutes les formules manquantes en Bdd

PS : Il ne manque pas des VR comme 15, 18, 19 ?? et rien n'est rangé correctement !!!
Bonjour Herve62, merci pour ton travail c'est parfait pour moi ,je sais tout le travail qu'il me reste a faire ,en ce qui concerne l'absence de certain VR c'est normal dans mon atelier il n'y a pas toujours la même logique que sur un fichier excel ,c'est ainsi surtout que je n'ai représenté que 25% de la réalité .
Petite question est-il possible de pouvoir enregistrer sur la feuille " suivi des mouvements" à chaque déplacement de colis ?.
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
@Did25 : des petits conseils > éviter au max de fusionner des cellules dans un tableau utilisé ensuite par Vba , ici c'est tes étiquettes VRxx
Essayer de construire un squelette linéaire logique : les étiquettes ,comme ici les VR, se suivront par lignes , exemple en 10 , 15, 20 ..etc ( toujours +5 ) ou en col C , E , G ... ( toujours +2) ..etc
Là tu fais des blocs mais pas de suite logique des VRxx
Et ici , il faudrait supprimer les "destination" : VRxx ça va perturber lors de la recherche , il pourra y avoir un doublon !!
Ci joint la dernière version avec empêchement de déplacer si rayon occupé
 

Pièces jointes

  • Déplacement colis.xlsm
    61.7 KB · Affichages: 2

Did25

XLDnaute Occasionnel
Bonjour
@Did25 : des petits conseils > éviter au max de fusionner des cellules dans un tableau utilisé ensuite par Vba , ici c'est tes étiquettes VRxx
Essayer de construire un squelette linéaire logique : les étiquettes ,comme ici les VR, se suivront par lignes , exemple en 10 , 15, 20 ..etc ( toujours +5 ) ou en col C , E , G ... ( toujours +2) ..etc
Là tu fais des blocs mais pas de suite logique des VRxx
Et ici , il faudrait supprimer les "destination" : VRxx ça va perturber lors de la recherche , il pourra y avoir un doublon !!
Ci joint la dernière version avec empêchement de déplacer si rayon occupé
Je viens de tester le déplacement si occupé ,c'est presque bon mise à part que cela indique opération annulé mais ça supprime quand même le colis sélectionné
 

Did25

XLDnaute Occasionnel
Bonsoir j'ai fait des modifs comme vous me l'avez demandé ,a savoir les rayons avec des cellules fusionnées et lorsque je supprime un colis d'un rayon ,le nom du colis reste et j'ai modifié
lg = Ry.Row: col = Ry.Column + 1
la suppression fonctionne mais si je vide un rayonnage et que je choisis de déplacer un colis sur un emplacement vide ,j'obtient le message qu'il n'est pas vide
 

Pièces jointes

  • Déplacement colis.xlsm
    58.3 KB · Affichages: 2
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Non , il faut mettre VR au dessus des données , dans un tableau ( mathématique) les étiquettes ligne/colonne ne doivent pas se chevaucher donc le VR01 doit être en C2 etc .. et donc on a :
lg = Ry.Row + 1: col = Ry.Column > faite MAJ dans les 3 sub ( la 3 c'est dans Module1)
Comme ça on peut balayer correctement , on choisit un VR ( sa colonne) et en dessous à chaque ligne on a le résultat c'est un tableau ( TAb(1,8) )
 

Did25

XLDnaute Occasionnel
Bonjour Herve62 , voilà ce que ça donne avec les modifications ,quand je fais un déplacement VR03 en VR01 j'obtiens une erreur
.Range(.Cells(lg, col), .Cells(lg + 7, col)).ClearContents
et la suppression d'un colis ,supprime les données du colis mais pas le colis en lui-même ,reste son nom et si je souhaite déplacer le colis en VR01 en VR29 j'obtiens le message box "la destination n'est pas libre ,opération annulée "
 

Pièces jointes

  • Déplacement colis.xlsm
    60.3 KB · Affichages: 3

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour Didier
Suite à la modif de test de destination occupée
Je dois revoir la procédure , j'y travaille actuellement

Tu peux déjà modifier :
la zone A2:W40 > A1:W40 > normalement le "ClearContents" sera Ok c'est ce que j'ai eu aussi à cause des cellules fusionnées
col > supprimer le +1 puisque plus de fusion ( j'espère qu'il n'y en plus ?)
A faire dans les 3 sub

PLUS de destination VRxx : comme dans ton fichier : C29 , I29 ; Modifier la liste pour cela !!
C'est la base des modif. à faire en 1er

supprime les données du colis mais pas le colis en lui-même ,reste son nom
Ca je savais pas ?? il faut aussi supprimer le VRxx ?? si oui il faut revoir ta fiche Bdd pour que ces VRxx soient aussi supprimés et donc n'apparaissent plus dans les Combobox , non ?

Il faudrait que j'ai les bonnes infos du départ ,sinon je risque de faire du code pour rien !!!
 

Did25

XLDnaute Occasionnel
Bon c'était juste une erreur d'inattention
Pour le moment ce fichier semble correct !
Mais bon si tu veux regarder du côté de MARCEL dis le .....moi j'arrête ! du temps perdu !!
Parfait le fichier est correct ,mais pour Marcel ,je n'ai fait que regarder ce qu'il m'a envoyé sur la messagerie de conversations et lui répondre par politesse .
Je vais maintenant pouvoir grâce a ton travail pouvoir mettre en forme pour mon suivi atelier .
Est-il possible d'envisager pouvoir enregistrer chaque mouvement de colis de VR01 à VR02 par exemple sur la feuille de suivi des mouvement ?
 

herve62

XLDnaute Barbatruc
Supporter XLD
Ben oui , suffit de transcrire les données dans la feuille , sauf que sans date spécifique ce sera la date du jour
Ensuite , là je regarde pour simplifier le transfert vers un Rayon occupé !!
Mon idée est de limiter la liste des VRxx si occupé , pas dans la liste Combo , cela supprime les traitements annexes
Qu'en penses tu ?
Tu ne m'as pas dit si il fallait aussi supprimer le "VRxx" ??
 

Did25

XLDnaute Occasionnel
Ben oui , suffit de transcrire les données dans la feuille , sauf que sans date spécifique ce sera la date du jour
Ensuite , là je regarde pour simplifier le transfert vers un Rayon occupé !!
Mon idée est de limiter la liste des VRxx si occupé , pas dans la liste Combo , cela supprime les traitements annexes
Qu'en penses tu ?
Tu ne m'as pas dit si il fallait aussi supprimer le "VRxx" ??
Bonne idée pour limiter la liste des Vrxx dans la combobox2 ,ça facilite le travail ,par contre surtout ne pas supprimer les vrxx ,j'ai intégré une confirmation pour la suppression et le déplacement mais peut être faut-il améliorer la logique ,je souhaite qu'il y ait une confirmation pour l'utilisateur
 

Pièces jointes

  • Déplacement colis-2.xlsm
    60.3 KB · Affichages: 0

TooFatBoy

XLDnaute Barbatruc
Mais bon si tu veux regarder du côté de MARCEL dis le .....moi j'arrête ! du temps perdu !!
Désolé, je voulais juste proposer une solution qui, à défaut d'être utilisée, pourrait au moins montrer des idées de réflexion, comme :
- supprimer les fusions de cellules (la fusion, c'est le Mal !!! 😈),
- des tests sur les positions de départ et d'arrivée sélectionnées, avec messages d'erreur si besoin,
- liste de départ ne comportant que les casiers pleins,
- liste de destination ne comportant que les casiers vides,
- un message de confirmation du travail effectué, parce que sinon c'est tellement rapide qu'on ne sait pas si on a bien cliqué sur le bouton de transfert du colis.

Effectivement, j'ai envoyé un MP avec un fichier modifié, alors que le principe d'un forum est le partage public.😔
En espérant que nous restions tous bons amis.

Longue vie et prospérité 🖖
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
328

Statistiques des forums

Discussions
312 280
Messages
2 086 743
Membres
103 384
dernier inscrit
bakhtibenabbey