Probleme suppression lignes

mvcs

XLDnaute Nouveau
Bonjour,
J'ai un problème avec le fichier joint.
C'est un tableau destiné à évaluer les employés et calculer leurs primes en fonction de différents critères.
J'ai un évènement (Private Sub Worksheet_Change) qui me permet d'incrémenter une ligne quand je saisi le nom.
Tout marche bien, sauf quand je supprime une ligne.
Le fichier bug à la ligne : If Target.Value <> "" Then
Je n'arrive paq trouver le remède
Merci aux pros du VBA de m'aider.
 

Pièces jointes

  • simu.xls
    184.5 KB · Affichages: 58
  • simu.xls
    184.5 KB · Affichages: 57
  • simu.xls
    184.5 KB · Affichages: 58

john

XLDnaute Impliqué
Re : Probleme suppression lignes

Bonjour,

Voilà, je viens de modifier ton fichier et apparemment ça bug plus (en tout cas sous office XP)

Bonne journée.

John
 

Pièces jointes

  • simu.xls
    160 KB · Affichages: 55
  • simu.xls
    160 KB · Affichages: 56
  • simu.xls
    160 KB · Affichages: 54

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

Super ça ne bug plus.
Un grand merci pour ton aide rapide et efficace.

J'en profite pour poser une autre question.
Tu as peut-être vu que l'action du double-clic sur la colonne NOM génère un onglet à la valeur trouvée dans la cellule cliquée.
J'ai un problème si, dans ma liste, il y a des homonymes (même nom, prénom différent) car il ne peut pas créer deux onglets au même nom. Du coup il garde le nom d'origine avec l'indice (2).
Je voudrais qu'il crée l'onglet avec le nom et la 1ere lettre du prénom.
Comment faire cela ?
Merci d'avance.
 

john

XLDnaute Impliqué
Re : Probleme suppression lignes

Salut,

J'ai bien une solution, mais le problème est la formule en C1, vu que celle-ci recherche (par ex.) FRANCE_M et vu que celle-ci n'est pas trouvée, j'ai un message d'erreur.
Autrement pour renommer la feuille ça ne pose pas de problème...
Bonne journée.
John
 

john

XLDnaute Impliqué
Re : Probleme suppression lignes

Autant pour moi, j'ai trouvé une solution.

Mais il faut tester tous les cas possibles dans ton programme pour voir si c'est ok.

Bonne fin de journée.

John

Ps: au moment où le prg voit que la feuille existe déjà, je change la formule que se trouve dans C1 de cette même feuille.
 

Pièces jointes

  • simu.xls
    158.5 KB · Affichages: 41
  • simu.xls
    158.5 KB · Affichages: 43
  • simu.xls
    158.5 KB · Affichages: 48

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

Super, ça marche impec.
Je ne maitrise pas bien la gestion des codes d'erreur. Il faut que approfondisse un peu.
J'ai recopié les codes sur l'évènement clic droit et tout est OK
Merci beaucoup
à bientôt
 

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

Salut John,

Allez une petite dernière question. Je me suis rendu compte d'une autre anomalie.
Jusqu'à maintenant, j'ai testé les commandes sur un fichier dont quelques noms étaient déjà saisis. Mais il y a un petit bug quand le fichier est vierge car il copie alors la ligne de titre au-dessus.
Je te renvoie la dernière version du fichier car il y eu quelques changements, notamment des protections.
J'ai mis la ligne suivante :
If Not Application.Intersect(Target, Range("a5")) Is Nothing Then Exit Sub
Mais j'ai un problème avec la protection qui ne se remet pas.
Alors j'ai essayé de mettre :
If Not Application.Intersect(Target, Range("a5")) Is Nothing Then
ActiveSheet.Protect Password:="yb"
End If
Exit Sub
Mais du coup la création à la dernière ligne ne fonctionne plus et la saisie à partir de la deuxième ligne n'actionne plus la protection.
Je n'arrive pas à trouver la solution.
Merci de ton aide.

PS : Tu as vu que le mot de passe de protection de la feuille est yb, il apparait dans les ligne de commande de VBA.
Comment interdire l'accès à VBA pour qu'un utilisateur du fichier un peu plus aguerri ne prenne pas connaissance du mot de passe ?

mvcs
 

Pièces jointes

  • simu_onglets_2.xls
    98.5 KB · Affichages: 42
  • simu_onglets_2.xls
    98.5 KB · Affichages: 41
  • simu_onglets_2.xls
    98.5 KB · Affichages: 34

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

J'ai essayé mais sans le "NOT" ça ne marche pas.
En fait quand je mets la simple ligne : If Not Application.Intersect(Target, Range("a5")) Is Nothing Then Exit Sub, tout marche bien mis à part que la protection s'enlève et ne se remet pas lorsque je tape quelque chose en A5, alors que sur les autres lignes la protection se remet bien.
Je ne vois pas ou je peux mettre l'instruction "ActiveSheet.Protect" pour que ça marche.
PS : as-tu pu voir mon PS sur l'accès à VBA ?
mvcs
 

john

XLDnaute Impliqué
Re : Probleme suppression lignes

Sorry, je l'avais vu mais oublié d'y répondre.
Pour protéger ton code VBA tu fais un clic droit sur VBAPROJECT... (ton projet) ==> propriétés de VBAproject ==> clic sur l'onglet "protection" ==> ensuite tu coches "Verrouiller le projet pour l'affichage" et pour terminer tu entres un mot de passe et tu le confirme puis ok.
une fois que tu aura enregistré ton fichier, tu le refermes et puis tu le réouvres et là tu essayes d'aller voir ton code, tu devra entrer ton mot de passe.
Voilà...
Pour ton "NOT" qui ne marche pas, je trouve ça bizarre car chez moi ça marche sans problème...

Je te joins mon fichier afin que tu testes pour voir si c'est ton fichier ou pas qui a un problème.
Bonne fin de journée.

John

PS: attention que ton code n'est pas protégé à 100% car il existe des programmes pour faire sauter le mot de passe du projet VBA.
 

Pièces jointes

  • simu_onglets_2.xls
    98.5 KB · Affichages: 47
  • simu_onglets_2.xls
    98.5 KB · Affichages: 42
  • simu_onglets_2.xls
    98.5 KB · Affichages: 42
Dernière édition:

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

Le tien ne marche pas non plus. En plus, je vois que tu as laissé le "NOT". Peut-être que tu ne m'as pas envoyé le bon ?
Si tu peux vérifier et éventuellement me renvoyer ta version qui marche avec un numéro ou un signe pour la différencier.

Pour résumer, j'ai essayé 2 solutions :
1 - cette simple ligne :
If Not Application.Intersect(Target, Range("a5")) Is Nothing Then Exit Sub
C'est celle qui marche le mieux, seul problème : la protection ne se remet pas lorsqu'on saisie la 1ere ligne.

2 - les trois lignes suivantes :
If Not Application.Intersect(Target, Range("a5")) Is Nothing Then
ActiveSheet.Protect Password:="yb"
End If
C'est celle que tu m'a envoyée en dernier. Ca marche pour la première ligne mais les lignes suivantes => plus de protection et pas de création de la ligne à la fin du tableau.

Dans les deux cas, enlever le NOT ne donne rien de bon.

Sacré casse-tête, mais on finira bien par trouver ...
 

john

XLDnaute Impliqué
Re : Probleme suppression lignes

Salut,

Voilà une version qui fonctionne correctement chez moi (office XP).
J'ai mis des commentaires dans le code afin que tu puisses voir ce que j'ai modifié.

Bonne journée.

John
 

Pièces jointes

  • simu_onglets_2.xls
    143.5 KB · Affichages: 44
  • simu_onglets_2.xls
    143.5 KB · Affichages: 46
  • simu_onglets_2.xls
    143.5 KB · Affichages: 46

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

En fait, là on est presque revenu au fichier d'origine, mis à part le "goto fin" qui fait effectivement plus propre. Merci pour ça.
Tout fonctionne sauf lorsque les lignes de noms sont toutes vierges.
Je te renvoie ton fichier en ayant juste supprimé les noms, prénoms et maintenant dis-moi ce que ça fait quand tu saisis un nom dans la première ligne (cellule A5).
Chez moi, ça me recopie la ligne du dessus, à savoir les titres des colonnes.
Je suis aussi en Office XP.
Bizarre, bizarre
 

Pièces jointes

  • simu_john_04052011.xls
    98.5 KB · Affichages: 56

john

XLDnaute Impliqué
Re : Probleme suppression lignes

Re,
Si il n'y a que la copie des titres qui pose problème, ce que tu peux faire c'est de cacher la ligne 5 et là ce sera celle-ci qui sera recopiée et non celle des titres.
Si y a quelque chose d'autre comme problème fait le moi savoir.

Bonne journée.

John
 

mvcs

XLDnaute Nouveau
Re : Probleme suppression lignes

Oui, c'est pas bête, je n'y avais pas pensé. Inutile de chercher compliqué quand il y a des astuces toutes simples.
Je crois que je vais me contenter de ça.
Merci encore.
Bien cordialement
Manu
 

Discussions similaires

Réponses
4
Affichages
283
Réponses
3
Affichages
755