Changer la valeur de cellules

Christophe

XLDnaute Occasionnel
Bonjour le forum,


Dans un fichier, j'ai le code ci-dessous qui me permet d'actualiser la valeur de la cellule B2 avec celle de la cellule B3.
Je souhaite ajouter la même chose avec les cellules C2 et C3 (actualiser C2 avec C3).
Je démarre, vous l'aurez compris avec ce type d'approche (et c'est dur !!!), et aucun de mes essais n'a été concluant.

QQun pourrait-il m'aider à franchir cette nouvelle étape ?

Par avance merci.

Christophe


Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range('H3')) Is Nothing Then

Range('B2') = Range('B3')

End If

End Sub
 

Abel

XLDnaute Accro
Bonjour Christophe,

Si la condition du changement est toujours un changement de valeur dans H3, ajoute la ligne suivante sous 'Range('B2') = Range('B3')' :

Range('c2') = Range('c3')

Bon courage pour l'apprentissage et en espérant que cela te dépanne.

Abel.
 
G

Gérard DEZAMIS

Guest
Bonjour Christophe

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range('H3')) Is Nothing Then
Range('B2') = Range('B3')
If Not Intersect(Target, Range('H3')) Is Nothing Then
Range('C2') = Range('C3')
End If
End If
End Sub

devrait fonctionner
(il doit sûrement y avoir plus court ....)

@+ GD
 

Christophe

XLDnaute Occasionnel
Mon enthousiasme retombe car cela ne marche pas.

J'ai donc fait un exemple dans le fichier joint pour être plus clair.
Quand en E16, je choisis une région, seuls les pays de cette région me sont proposés en choix en E17. Et quand je choisis le pays en E17, seule les villes de ce pays m'est proposée en E18.

Le code fonctionne pour le pays, mais pas pour les villes.


SOS !

Merci.

Christophe [file name=TCD2.zip size=8339]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TCD2.zip[/file]
 

Pièces jointes

  • TCD2.zip
    8.1 KB · Affichages: 29
  • TCD2.zip
    8.1 KB · Affichages: 26
  • TCD2.zip
    8.1 KB · Affichages: 29

Abel

XLDnaute Accro
Re,

Essaie :

If Not Intersect(Target, Range('e16')) Is Nothing Then
Range('M2') = Range('E16')
End If

If Not Intersect(Target, Range('E18')) Is Nothing Then
Range('P2') = Range('E18')
End If

Attention à ce que les zones soient compatibles entre elles.

Abel.

Edition : Boah, Gérard, finalement, c'est toi qui était le plus près.

Message édité par: Abel, à: 09/05/2005 13:26
 

Dan

XLDnaute Barbatruc
Bonjour,

Christophe, juste une petite rectification à l'attention des autres forumeurs qui seraient intéressés.

En effet, le code d'Abel tel que tu as donné ne fonctionne sur ton fichier que si tu le mets comme suit :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range('E16')) Is Nothing Then
Range('M2') = Range('E16')
End If
If Not Intersect(Target, Range('E17')) Is Nothing Then
Range('P2') = Range('E17')
End If
End Sub

A placer en VBA (vai ALT+F11) dans la feuille (faire CTRL+R pour accéder au VBA project) comportant les TCD (ici 'Sheet1')

Bon ap.

;)
 

Dan

XLDnaute Barbatruc
Bonsoir,

Non Abel, car le 'End If' se trouve après chaque 'Range ... = Range ...' et à lz fin non comme précisé par GD.

Petite précision pour utilisateurs MAC : comme on fait appel aux résultats d'une liste déroulante, la macro événementielle ne fonctionnera pas.
Alternative : placer la macro dans un module et utiliser un raccourci ou un bouton placé sur la feuille afin de la commander.

;)

Message édité par: Dan, à: 10/05/2005 22:50
 

Discussions similaires

Réponses
7
Affichages
327

Statistiques des forums

Discussions
312 216
Messages
2 086 340
Membres
103 192
dernier inscrit
Corpdacier