Pour une appli fonctionnant sous excel 97, j'ai écris le code suivant dans
Excel 2003 (format d'enregistrement Excel 97) où il fonctionne correctement.
Or quand j'execute le code dans la machine avec Excel 97 SR2, le code ne
s'execute pas ! !
Comment le modifier ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("B21:B204")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
If ActiveCell.Offset(0, -1).Value = "3" Then
Selection.RowHeight = 45
ElseIf ActiveCell.Offset(0, -1).Value = "2" Then
Selection.RowHeight = 30
Else
Selection.RowHeight = 15
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Testé sous XL97 :
Private Sub Worksheet_Change(ByVal zz As Range) If Application.Intersect(zz, [B21:B204]) Is Nothing Then Exit Sub x = zz.Row Select Case zz.Offset(0, -1) Case "3": Rows(x + 1).RowHeight = 45 Case "2": Rows(x + 1).RowHeight = 30 Case Else: Rows(x + 1).RowHeight = 15 End Select End Sub
AV
Testé sous XL97 :
Private Sub Worksheet_Change(ByVal zz As Range)
If Application.Intersect(zz, [B21:B204]) Is Nothing Then Exit Sub
x = zz.Row
Select Case zz.Offset(0, -1)
Case "3": Rows(x + 1).RowHeight = 45
Case "2": Rows(x + 1).RowHeight = 30
Case Else: Rows(x + 1).RowHeight = 15
End Select
End Sub
Private Sub Worksheet_Change(ByVal zz As Range) If Application.Intersect(zz, [B21:B204]) Is Nothing Then Exit Sub x = zz.Row Select Case zz.Offset(0, -1) Case "3": Rows(x + 1).RowHeight = 45 Case "2": Rows(x + 1).RowHeight = 30 Case Else: Rows(x + 1).RowHeight = 15 End Select End Sub
AV
coco74
Merci AV pour ton aide, mais cela ne fonctionne pas sur mon appli ! Voilà ce que je cherche à faire : Pour chaque cellule d'une zone (en colonne), je teste la cellule à gauche et suivant sa valeur (1, 2 ou 3), je règle la hauteur de la ligne. La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc modifiable à volonté et la cellule située à gauche suit le mouvement en changeant elle aussi de valeur.
Testé sous XL97 :
Private Sub Worksheet_Change(ByVal zz As Range) If Application.Intersect(zz, [B21:B204]) Is Nothing Then Exit Sub x = zz.Row Select Case zz.Offset(0, -1) Case "3": Rows(x + 1).RowHeight = 45 Case "2": Rows(x + 1).RowHeight = 30 Case Else: Rows(x + 1).RowHeight = 15 End Select End Sub
AV
Merci AV pour ton aide, mais cela ne fonctionne pas sur mon appli !
Voilà ce que je cherche à faire :
Pour chaque cellule d'une zone (en colonne), je teste la cellule à gauche et
suivant sa valeur (1, 2 ou 3), je règle la hauteur de la ligne. La cellule
primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc
modifiable à volonté et la cellule située à gauche suit le mouvement en
changeant elle aussi de valeur.
Testé sous XL97 :
Private Sub Worksheet_Change(ByVal zz As Range)
If Application.Intersect(zz, [B21:B204]) Is Nothing Then Exit Sub
x = zz.Row
Select Case zz.Offset(0, -1)
Case "3": Rows(x + 1).RowHeight = 45
Case "2": Rows(x + 1).RowHeight = 30
Case Else: Rows(x + 1).RowHeight = 15
End Select
End Sub
Merci AV pour ton aide, mais cela ne fonctionne pas sur mon appli ! Voilà ce que je cherche à faire : Pour chaque cellule d'une zone (en colonne), je teste la cellule à gauche et suivant sa valeur (1, 2 ou 3), je règle la hauteur de la ligne. La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc modifiable à volonté et la cellule située à gauche suit le mouvement en changeant elle aussi de valeur.
Testé sous XL97 :
Private Sub Worksheet_Change(ByVal zz As Range) If Application.Intersect(zz, [B21:B204]) Is Nothing Then Exit Sub x = zz.Row Select Case zz.Offset(0, -1) Case "3": Rows(x + 1).RowHeight = 45 Case "2": Rows(x + 1).RowHeight = 30 Case Else: Rows(x + 1).RowHeight = 15 End Select End Sub
AV
AV
La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc
modifiable à volonté et la cellule située à gauche suit le mouvement en changeant elle aussi de valeur.
Petit cachotier ! Je suppose que tu veux parler de liste de validation... C'est que ça change tout : la liste de validation ne déclenche pas (avec XL97) l'évènement "Worksheet_Change" (Nombreux fils sur le forum concernant le problème) Exemple là pour contourner (à adapter) :
http://cjoint.com/?hckrJxmO7V
AV
La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante
donc
modifiable à volonté et la cellule située à gauche suit le mouvement en
changeant elle aussi de valeur.
Petit cachotier !
Je suppose que tu veux parler de liste de validation...
C'est que ça change tout : la liste de validation ne déclenche pas (avec XL97)
l'évènement "Worksheet_Change"
(Nombreux fils sur le forum concernant le problème)
Exemple là pour contourner (à adapter) :
La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc
modifiable à volonté et la cellule située à gauche suit le mouvement en changeant elle aussi de valeur.
Petit cachotier ! Je suppose que tu veux parler de liste de validation... C'est que ça change tout : la liste de validation ne déclenche pas (avec XL97) l'évènement "Worksheet_Change" (Nombreux fils sur le forum concernant le problème) Exemple là pour contourner (à adapter) :
http://cjoint.com/?hckrJxmO7V
AV
coco74
Ca fonctionne ! Merci encore. Il est vrai que j'avais "zappé" cette "anomalie" de 97. Et c'est pas faute de fouiller le forum quand j'ai des soucis (même quand j'en ai pas d'ailleurs !) avant de poser une question. Bon week-end !
La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc
modifiable à volonté et la cellule située à gauche suit le mouvement en changeant elle aussi de valeur.
Petit cachotier ! Je suppose que tu veux parler de liste de validation... C'est que ça change tout : la liste de validation ne déclenche pas (avec XL97) l'évènement "Worksheet_Change" (Nombreux fils sur le forum concernant le problème) Exemple là pour contourner (à adapter) :
http://cjoint.com/?hckrJxmO7V
AV
Ca fonctionne ! Merci encore.
Il est vrai que j'avais "zappé" cette "anomalie" de 97. Et c'est pas faute
de fouiller le forum quand j'ai des soucis (même quand j'en ai pas d'ailleurs
!) avant de poser une question.
Bon week-end !
La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante
donc
modifiable à volonté et la cellule située à gauche suit le mouvement en
changeant elle aussi de valeur.
Petit cachotier !
Je suppose que tu veux parler de liste de validation...
C'est que ça change tout : la liste de validation ne déclenche pas (avec XL97)
l'évènement "Worksheet_Change"
(Nombreux fils sur le forum concernant le problème)
Exemple là pour contourner (à adapter) :
Ca fonctionne ! Merci encore. Il est vrai que j'avais "zappé" cette "anomalie" de 97. Et c'est pas faute de fouiller le forum quand j'ai des soucis (même quand j'en ai pas d'ailleurs !) avant de poser une question. Bon week-end !
La cellule primaire (dans la zone en colonne) est pourvue d'une liste déroulante donc
modifiable à volonté et la cellule située à gauche suit le mouvement en changeant elle aussi de valeur.
Petit cachotier ! Je suppose que tu veux parler de liste de validation... C'est que ça change tout : la liste de validation ne déclenche pas (avec XL97) l'évènement "Worksheet_Change" (Nombreux fils sur le forum concernant le problème) Exemple là pour contourner (à adapter) :