Report automatique de modifications entre deux onglets

Murmandamus

XLDnaute Nouveau
Bonjour,

Je fais face à un petit problème.

J'ai, sur un onglet "Tri détaillé", une version simplifiée d'un tableau dans l'onglet "National". Le tableau "Tri détaillé" est réalisé grâce à la fonction Copy depuis l'onglet "National".

Ce que je voulais faire était de reporter de façon automatique les modifications que l'utilisateur apporte à l'onglet "Tri détaillé" vers la bonne case de l'onglet "National".

Voici la macro que j'avais voulu faire :

Code:
Sub Modifier()
    Dim ligNat, colRes, colNat As Long
    
        'ligNat contient la valeur de la ligne correspondant dans le fichier "National"
        ligNat = Range("AA" & ActiveCell.Row).Value
    
        colRes = ActiveCell.Column
    
        'Comme j contient le numéro de la colonne du fichier "Résultat", on fait correspondre dans k la bonne valeur pour le fichier "National"
        colNat = 4 + colRes 'On a retiré les 4 colonnes de remarques, il faut rattraper le décalage
    
        'On copie la cellule dans le fichier "National"
        Sheets("National").Cells(ligNat, colNat).Value = ActiveCell.Value

End Sub

En soi, cette macro ne fait que redécaler l'indice de la colonne pour tenir compte des colonnes oubliées par rapport au tableau total.

Ensuite, dans la macro Worksheet_Change, je faisais appel à cette macro dès que la case active vérifiait une certaine condition (je voulais pas qu'on puisse modifier les premières colonnes donc il fallait que c.col() soit plus grand que X).

Toutefois, cette solution ne marche pas.

Mais le truc bizarre, c'est que les modifications de certaines cases de l'onglet "Tri détaillé" sont effectivement reportées dans l'onglet "National". En y regardant de plus près, ce sont celles dont le contenu est géré par une liste déroulante.

Mais pour les autres cases où l'entrée est laissée libre, ce report ne s'effectue pas.


Quelqu'un a-t-il une idée de comment je pourrais régler ce problème ?

Au vu de la rapidité et de la pertinence des réponses que j'ai déjà pu avoir ici, je ne suis pas trop inquiet ^^


Merci d'avance ;)
 

Pièces jointes

  • ISEREtest.xlsm
    186.2 KB · Affichages: 32
  • ISEREtest.xlsm
    186.2 KB · Affichages: 35
  • ISEREtest.xlsm
    186.2 KB · Affichages: 38

Caillou

XLDnaute Impliqué
Re : Report automatique de modifications entre deux onglets

bonjour,

C'est normal : je penses que lorsque tu testes la modification, tu valides avec Entrée : ce qui a pour effet de déplacer le curseur sur la cellule suivante (vers le bas). Du coup lorsque la macro Worksheet_Change passe la main à la procédure Modifier, celle-ci se sert de ActiveCell (qui du coup est devenu la cellule en dessous)
C'est pour ca que les modifs se repercutaient avec les listes déroulantes (car dans ce cas, il n'y a pas de mouvement)
Je ne suis pas sur d'avoir été très clair !

Solution : Faire faire la modification à la sub Worksheet_Change en utilisant Target au lui de activecell
ou passer Target en argument à la Sub Modifier

Caillou
 

Murmandamus

XLDnaute Nouveau
Re : Report automatique de modifications entre deux onglets

Bonjour,

Je n'ai pas répondu plus tôt parce qu'il m'a manqué du temps pour me replonger sur mes macros.

Grâce à ta remarque,tout marche comme je le voulais. Donc je tenais à le signaler et à t'en remercier !

Ce forum est toujours d'une aide très efficace :)
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 316
Membres
103 176
dernier inscrit
jean.yvesjean.yves