Aide pour effacement ligne et cellule

Fermé
Signaler
-
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
-
Bonjour,


j'ai un petit soucis, j'aimerais pourvoir effacer une suite de cellule sur la même ligne avec des données sur une feuille par un bouton ou un userform par exemple.

Mais que ce bouton puisse servir à effacer à la fois pour effacer les cellules de la première feuille mais aussi une autre ligne dans une autre feuille qui aurai les mêmes données.
sur la premiere feuille ce sont des dates et des heures, et sur la deuxieme une base de données ou toutes les heures et dates sont regroupées mais sur une même ligne elles ne sont pas mélanger...


https://www.cjoint.com/?cBnBkDZkpC


voici un exemple, si vous avez une solution ou des questions...

Merci de votre aide

20 réponses

Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

Quelle ligne souhaites tu effacer, toujours la même ou sur quel critère ainsi que la lignes sur la feuille données, lorsque les cellules non grisées sont remplies !!!

A+
0
bonjour,

merci pour ton aide, sur la feuille ou il y a les prenoms et ou j'aimerais le bouton d'effacement c'est toutes les cellules de la ligne que j'aimerais qu'elles se grise en effacent le contenu.
si tu veux j'aimerais autant de boutons d'effacement qu'il y aurais de lignes en quelque sorte sur cette feuille...

Par contre dans la feuille donnée, j'aimerais que la ligne complete sois effacée.

est ce que cela t'eclaire un peu plus?

cordialement
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Bon pour griser des cellules, facile avec une mise en forme conditionnelle, pas de problème.

Mais pour l'effacement des lignes tu veux sur chaque feuille Prénom c'est ça, mais sur combien de ligne, et le plus important, sur quel critère veux tu effacer, c'est toi qui décide et interviendra manuellement, c'est peut être dangereux pour les données !!!

Et pourquoi ne pas utiliser les cases à cocher plus discrète.

A+
0
une case à coché pourquoi pas,

si tu veux pour chaques feuilles ou il y le nom j'aimerais griser toutes les cellules et effacer le contenu sur la ligne ,quand je cocherais la case en face.
par exemple de A6 à J6.

Mais que sur la feuille donnée que cette case que j'ai coché qu'on retrouve la ligne que j'ai effacer sur la feuille des noms et qu'elle soit supprimée en meme temps.

pour faire simple le bouton a coché, j'en aurais autant que de ligne environ 40 pour voir large. mais qu'elle grise et efface le contenu de la cellule dans la feuille des noms, mais qu'elle retrouve dans la feuille des données la même ligne mais qu'elle soit supprimé...
je c'est pas si tu me comprend?
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

je ne t'ai pas oublié, j'ai pensé à quelque chose plus simple à l'utilisation

récupéres le fichier et testes le on en reparle

https://www.cjoint.com/?cCqnVNNDXq

A+
0
coucou,

j'ai testé ta solution, l'idée et là et tu as bien saisie, griser la cellule en effacent le contenu.
Cependant la liste avec menu deroulante et une bonne idée.

par contre serais t'il possible qu'elle efface aussi en même temps, mais en supprimant la ligne entiere sur la feuille donnée les mêmes données?
merci
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

Oui c'est possible d'effacer en même temps sur la feuille Donnée à condition que l'on puisse s'appuyer sur un critère de donnée unique et commune sur les deux feuilles.

Ma proposition simplifie au maximum ton projet, un seul code macro pour toutes les feuilles, sur les feuilles des Prénom grace à un combobox, tu peux choisir entre plusieurs dates identiques et sélectionner celle qui t'intéresse, par contre sur la feuille donnée tu as ou auras plusieurs dates identiques et même plusieurs critéres sur la même ligne identiques.

Pour que cela marche, il faudrait créer une colonne avec par exemple une numérotation de ligne et dans ce cas tout serait possible.

Je regarde tout ça et te proposerai un exemple

A+
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

En complément de mon post précédent, récupéres ton fichier et donnes mois les réponses dans les zones de texte que je cerne mieux ton fichier

https://www.cjoint.com/?dblkCUOrnE

A+
0
merci, mike

je te renvoie donc le fichier compléter.

je pense que le plus delicat c'est de retrouver dans la feuille de donnée la ligne que l'on aurais effacer sur la feuille des noms.peut etre en ce basant sur trois critere peut etre? quand pense tu...

https://www.cjoint.com/?dbm1X5sti4
0
Salut, mike-31

je n'est pas eu de tes nouvelles, as tu un soucis avec mon ptit problème d'effacement...
Merci de me tenir au courant, en te remerciant beaucoup déjà.

cordialement.
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut Calcifer,

Non pas de soucis, et je ne t'ai pas oublié, quelques jours d'absences.
Je termine cet après midi ton fichier que j’ai entièrement automatisé, enfin tu verras

A+
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Comme promis, récupères ton fichier légèrement modifié avec le lien ci-dessous, Tu peux Nommer d'autres feuilles, testes le, notes toutes anomalies et on en reparle

https://www.cjoint.com/?dhoFetrJLY


A+
0
Super,

Ton programme me plait beaucoup cependant tu me la trop compliqué en quelque sorte, pour t'expliquer.

Ton userform et l'idée que tu en a dégagé et exactement ce que je cherchais.

Mais si tu veux, les données sont déjà encodé dans la feuille des prenoms ainsi que dans les données.
Je veux juste à l'aide de ton idée de l'userform les effacer sans les encoder d'abord, evidemment sa accentu la problématique.
Je n'aimerais que effacer les donner. Est ce que cela te semble possible?

merci beaucoup de ce que tu as deja fais, c'est épatant
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Avec excel tout est possible ou presque.

Si je suis passé par une userform pour saisir automatiquement dans les deux feuilles, c'est pour éviter une erreur de saisie (Intervalle, Majuscule, accent etc...), ce qui bloquerai le code, il est impératif que toutes les données soient parfaitement identique.

Il faudrait que tu me donnes davantage de détail, ou un exemple de fichier plus explicite avec l’encodage des tes données pour voir comment les récupérer et non les recopier afin d’éviter toutes erreurs


A+
0
Merci,

je vais te faire sa, je vais te mettre en couleurs differentes les données qui serais identique pour la saisie entre les feuilles, cela te permettra d'y voir claire...
je m'y met tous de suite je t'envoie dés que j'ai fini un exemple avec un nombre important de données...

merci, encore
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Tu peux limiter les données, pour éviter que le fichier soit trop lourd, le principal est de cerner le problème.

Evites de donner des noms réels ou confidentiels.

éventuellement tu peux joindre ton fichier à un message privé, pour cela cliques sur mon pseudo et message privé, colles le lien

A+
0
https://www.cjoint.com/?dhtHsJ83H4


je peu malheureusement pas te donner le fichier complet de mon programme c'est confidentiel, je t'est juste fait un exemple qui y ressemble....
tu m'excusera.

mais l'idée principale et sur le programme que tu as là.

tu as déjà bien ébauché le problème, je souhaiterais juste pouvoir effacé les données mais pas les encoder mais en gardant se que tu as crée, en listant les dates.

merci
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Tu n’apportes pas d’éléments expliquant le fonctionnement de ton fichier,

Je pense que la feuille principale est Données !

Les informations sur cette feuille sont saisies manuellement !

Les saisies sur les feuilles des agents sont saisies comment !

Pour effacer d’un coup les données sur les deux feuilles, il faut songer à des points communs sans risque d’erreur d’où ma proposition d’une saisie unique par le biais d’une boite de dialogue et la même chose pour l’effacement, je dirai surtout pour l’effacement sur la feuille Données ou on va trouver plusieurs fois le même prénom ou date.

J’avais pensé également à compacter le code avec une boite de dialogue unique à onglet, mais le résultat sera proche de ma dernière proposition

A moins que l’on supprime la boite de dialogue de saisie et que l’on garde la partie effacement, mais je ne garanti pas l’efficacité dans le cas de saisie différente ne serai se qu’un espace

A+
0
hello,

la saisie se fait automatiquement, par le biais d'un userform de saisie un peu comme ta solution que tu m'as proposé...
elle inscrit à la fois dans la feuille prenom qui à été choisis et dans la feuille donnée, cette feuille donnée sert à un autre petit programme qui inscrit les personnes dans un calendrier pour les afficher.

c'est pour cela que quand la personne ne veux plus de la journée, il faut qu'elle soit effacer à la fois dans sa partie mais aussi dans celle des données.
si tu veux ta solution été parfaite dans le principe c'est exactement cela.
j'aimerais juste la partie effacement sans la saisie de données que tu as proposé vue qu'elle serais deja faite.

je dirais que la feuille principale et celle avec les prenoms, il ne peu y avoir aucune modification manuelle par l'utilisateur dans les deux feuilles, prenoms et données.
est ce que cela repond a ta question.?

cordialement
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

On aurai du commencer par ça, alors dans ce cas pourquoi ne pas repenser ton userform avec une multipage, sur la page1 tu poses tes contrôles existants et sur la page 2 les contrôles d'effacement.

Maintenant si tu tiens à une deuxième userform pour effacer, je te prépare ça pour le week-end.

Dans la feuille Données, est il possible d'après ton programme existant de réserver une ligne au dessus des titres de colonne comme dans mon dernier exemple

A+
0
je tien a avoir justement cette deuxieme userform,lol

non cela ne posera pas de probleme de rajouter une ligne, dans le cas contraire on avisera...

merci de ton aide precieuse? j'espere que sa ira?
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

Récupères ton fichier, fais attention lorsque tu saisis des dates ou heures, ces dernières lorsqu'elles sont saisies avec une combobox sur une userform elles sont au format texte et si tu les saisis au clavier, si la cellule n'est pas déclarée au format texte, elles sont au format numérique.
Cette différence est importante pour le filtrage et l'effacement d'une ligne.
Pour deux saisies identiques exemple 11/03/09, une au format texte et une au format numérique Date, dans ton tableau la saisie numérique sera ignorée, seule la date avec 11/03/09 au format texte sera effacée. d'ou l'intérêt d'avoir un seul et même mode de saisie.

https://www.cjoint.com/?djphTOBIeO

A+
0
Mike-31 alors là merci, c'est exactement cela que je cherchais...

je vais essayer d'adapter ton ptit programme au mien si j'ai des questions sur un parametre je te tiendrais au courant...


merci de ton aide vraiment précieuse
0
juste un petit truc, j'aimerais que tu revois pour que la ligne ne s'efface pas completement dans la feuille des prenoms mais qu'elle se grise uniquement mais qu'elle efface la ligne dans celle des données?
pense tu que cela et faisable?
merci
0
salut,

y a que ce seul moyen pour effacer grace a ton programme, qu'au format texte?
tu peu m'expliquer comment fonctionne ton ptit programme?

merci
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Regardes les modifs, Il est possible de laisser la première cellule en clair si tu veux

https://www.cjoint.com/?djsVJQK4AM

A+
0
Re, lol

j'ai adapter ton ptit programme sur le mien, je suis arrivé a effacer comme je voulais donc la feuille des prenoms, lol, mais elle n'efface pas dans la feuille des données, comment marche ton programme pour rechercher sur cette feuille? merci
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

Toute saisie à partir d'une zone de texte ou d'un textbox est au format texte, même s'il s'agit de chiffre, soit tu les convertis, soit tu travailles en format texte. Récupères le fichier annoté,

https://www.cjoint.com/?dnoNIJKpNd

A+
0
hello,

merci, pour le tuto.

juste question encore,lol, pourquoi la cellule B4? et dans qu'elle feuille tu l'as décider celle des prenoms ou celle des données? a quoi correspond B4

merci
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

A l'initialisation de l'userform la cellule B4 est activé parce qu'elle contient un texte fixe qui va me servir pour arrêter toute procédure non conforme.
Exemple si tu saisis par inadvertance une donnée dans le combobox qui n'existe pas dans la colonne B, ou même si tu cliques sur le bouton effacer les données alors que rien n'est sélectionné, le fait que la cellule B4 n'a pas bouger on sort de la procédure afin d’éviter d’effacer n’importe quelle ligne.

Private Sub CommandButton1_Click()
If ActiveCell = "Date des congés" Then Exit Sub

Il aurait été possible d’écrire le code différemment, mais je pense que ce style permet plus facilement de suivre une procédure, la preuve

A+
0
D'accord,

voilà j'ai ce problème en appliquant ton code avec le mien, dés que je lance l'userform il me lance déjà ton message d'erreur de la premiere partie du code qui est celui là :

MsgBox ("Modification non autorisée" _
& vbCrLf & "sélectionnez une demande à effacer :" _
& vbCrLf & "Ou Veuillez quitter l'application"), vbCritical, "Titre"
End If

j'ai mis toutes les cellules en format texte et j'ai bien les mêmes données partout écrite pareil, en passant ce message j'ai bien la liste des congés posées, mais en clickant sur le bouton effacer, il efface bien celle de la feuille des prénoms mais pas dans celle des données.
serais tu pourquoi?
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

Au départ du code, tu as une conditionnelle

If
si la conditionnelle est remplie, exécution du code, sinon affiche la boite de dialogue, sinon s'écrit Else et doit précédé la suite de la prodédure et en fin de condition sortir avec End If, comme ci dessosus

Else
MsgBox ("Modification non autorisée" _
& vbCrLf & "sélectionnez une demande à effacer :" _
& vbCrLf & "Ou Veuillez quitter l'application"), vbCritical, "Titre"
End If

Pour le reste du code, tout dépend du mode de saisie, même si tu déclare ta cellule en texte, elle peut changer de genre suivant le mode de saisie et inversement

Peut être inclure dans ton code, après la saisie ou le transfert des données vers tes cellules, définir la plage de cellules et mettre ce code pour le mettre en format texte

Selection.NumberFormat = "@"

A+
0
pourrais tu me redonner ton adresse perso, je vais essayer de t'envoyer mon programme comme il est mais un peu restreint sur certaine donnée... tu trouvera mieux que moi ce qui cloche, j'ai tester plein de solution mais je n'y arrive pas avec ton code...
pourtant semble t'il logique
merci à toi de ta precieuse aide
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913 > calcifer
Re,

Clic sur mon pseudo au dessus d'un de mes posts et joint le lien en message privé

A+
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut,

A avoir viré les barres d'outils etc ..., ton programme désactive les boutons de la barre de fenêtre excel !
je pense que le code dans la ThisWorkbook est à revoir, crée plus de problèmes que d'avantages et pourri excel

ensuite revois ce code

Private Sub CommandButton1_Click()
If ActiveCell = "Date de la demande" Then Exit Sub

et remplace le par
Private Sub CommandButton1_Click()
If ActiveCell = "Date des congés" Then Exit Sub


un peu plus bas dans cette ligne ajoute.text
Sheets("Congés").Range("H1") = ComboBox1.Text

La MsgBox ("Modification non autorisée" _
& vbCrLf & "sélectionnez une demande à effacer :" _
& vbCrLf & "Ou Veuillez quitter l'application"), vbCritical, "Titre"
apparait parce que tu as saisis dans la combobox1 qui à été crée le
A+
0
j'ai toujours le même problème avec le message suivant qui apparait en faisant apparaitre l'userform :


La MsgBox ("Modification non autorisée" _
& vbCrLf & "sélectionnez une demande à effacer :" _
& vbCrLf & "Ou Veuillez quitter l'application"), vbCritical, "Titre"

tu m'as dis qu'il apparait parce que tu j'ai saisis dans la combobox1 qui à été crée le
mais même en l'effacent j'ai toujours le même problème.???

je c'est que je peu l'esquiver mais bon autant qu'il serve?

merci à toi
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Salut Calcifer,

J'ai revu ton code, le problème ne vient pas du texte saisie dans le combobox1 mais d'une valeur que tu as changée.

Donc en clair tu peux sans problème dans les propriétés du combobox1/text ressaisir qui à été crée le

Par contre dans les propriétés du combobox tu vas trouver Bound Column avec 2 comme valeur, remplaces le 2 par 1

Et tiens-moi au courant

A+
0
merci, là sa marche beaucoup mieux,
je n'est plus le message d'erreur c'est deja tres bon signe

j'ai fais plusieurs test et cela fonctionne pour certain cas, seulement j'ai encore des soucis.


par exemple quand je rentre plusieurs date et que j'efface entre trois dates par exemple et que je souhaite en enlever une dans la feuille congés celle si ne s'efface pas, mais s'efface dans la feuille prenom, est ce que le faite qu'il y est un trou dans les données fais que cela ne fonctionne pas, faut il dans ton code supprimer la ligne qui se trouve dans la feuille des congés?

ou bien c'est un autre probleme?
0
Messages postés
17814
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 janvier 2022
4 913
Re,

Non je ne vois pas, si la feuille Prénom et la feuille congé sont renseignées à l'origine avec les mêmes saisies, l'effacement de la ligne se fait en sélectionnant l'ensemble des critères de la feuille prénom qui sont reportés sur la première ligne de la feuille congé donc on retrouve les mêmes critères sur la feuille congés, qui servent ensuite à filtrer les données,
premier filtre le prénom, (reste affiché les lignes du prénom sélectionné)
deuxième filtre la date de création, (reste des lignes prénom, les lignes correspondantes au jour de création)
etc ... pour tous les critères, ce qui fait que pour un prénom donné il ne peut y avoir plus d'une ligne,

pour tester le code filtre, devant les lignes correspondantes met une apostrophe qui aura pour but de ne pas exécuter cette ligne ensuite efface une apostrophe observe le déroulement du code, puis efface l'apostrophe de la ligne suivante etc ...

ou exécutes le code pas à pas et suis chaque étape afin de rechercher le problème

A+
0