Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures
(xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I
10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à
chaque fois que la valeur de la colonne I change. Cependant, il faut que
la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre
A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10
alors changement de style de bordure) mais cela me paraît bien compliqué
car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un
choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
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
Yvan
Bonjour Jacques
mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules
Pourquoi compliqué? Il te suffit de sélectionner ta plage complète avant de définir la MFEC. Attention simplement à l'adressage! Il faut mettre $J1 et non pas J1 ou $J$1 ou J$1. Tu écris la condition qui convient pour la cellule active dans la sélection, et Excel se débrouillera.
De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
C'est vrai. Un autre moyen de t'en sortir est de passer par VBA:
Essaies ceci (à copier dans le code de la feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, j As Integer, Trait As Integer For i = 1 To 15 Trait = xlMedium If Cells(i, 9) = Cells(i + 1, 9) Then Trait = xlThin For j = 1 To 9 Cells(i, j).Borders(xlEdgeBottom).Weight = Trait Next j Next i End Sub
Cà te convient?
@+
Yvan
"JacquesH" a écrit dans le message de news:
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
Bonjour Jacques
mais cela me paraît bien compliqué car je dois la mettre sur toutes les
cellules
Pourquoi compliqué? Il te suffit de sélectionner ta plage complète avant de
définir la MFEC.
Attention simplement à l'adressage! Il faut mettre $J1 et non pas J1 ou $J$1
ou J$1. Tu écris la condition qui convient pour la cellule active dans la
sélection, et Excel se débrouillera.
De plus, il n'y a pas un choix très important de type de bordures dans les
MFC.
C'est vrai. Un autre moyen de t'en sortir est de passer par VBA:
Essaies ceci (à copier dans le code de la feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer, Trait As Integer
For i = 1 To 15
Trait = xlMedium
If Cells(i, 9) = Cells(i + 1, 9) Then Trait = xlThin
For j = 1 To 9
Cells(i, j).Borders(xlEdgeBottom).Weight = Trait
Next j
Next i
End Sub
Cà te convient?
@+
Yvan
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: ebw20URtFHA.3596@TK2MSFTNGP15.phx.gbl...
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures
(xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10
la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à
chaque fois que la valeur de la colonne I change. Cependant, il faut que
la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre
A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10
alors changement de style de bordure) mais cela me paraît bien compliqué
car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un
choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules
Pourquoi compliqué? Il te suffit de sélectionner ta plage complète avant de définir la MFEC. Attention simplement à l'adressage! Il faut mettre $J1 et non pas J1 ou $J$1 ou J$1. Tu écris la condition qui convient pour la cellule active dans la sélection, et Excel se débrouillera.
De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
C'est vrai. Un autre moyen de t'en sortir est de passer par VBA:
Essaies ceci (à copier dans le code de la feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, j As Integer, Trait As Integer For i = 1 To 15 Trait = xlMedium If Cells(i, 9) = Cells(i + 1, 9) Then Trait = xlThin For j = 1 To 9 Cells(i, j).Borders(xlEdgeBottom).Weight = Trait Next j Next i End Sub
Cà te convient?
@+
Yvan
"JacquesH" a écrit dans le message de news:
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
isabelle
bonjour Jacques,
For i = 2 To Range("J65536").End(xlUp).Row If Range("J" & i) <> Range("J" & i + 1) Then With Range("A" & i & ":J" & i).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With End If Next
isabelle
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
bonjour Jacques,
For i = 2 To Range("J65536").End(xlUp).Row
If Range("J" & i) <> Range("J" & i + 1) Then
With Range("A" & i & ":J" & i).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
End If
Next
isabelle
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures
(xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I
10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à
chaque fois que la valeur de la colonne I change. Cependant, il faut que
la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre
A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10
alors changement de style de bordure) mais cela me paraît bien compliqué
car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un
choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
For i = 2 To Range("J65536").End(xlUp).Row If Range("J" & i) <> Range("J" & i + 1) Then With Range("A" & i & ":J" & i).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With End If Next
isabelle
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
Yvan
Sorry, Jacques.
J'ai commis une erreur dans la procédure que je t'ai proposé. (J'ai pris la colonne i en référence au lieu de la colonne J.
Il faut donc remplacer les "9" par des "10" pour avoir le résultat escompté.
Par ailleurs, j'ai fixé d'autorité à 15 le nombre de lignes traitées. A adapter selon tes besoins évidemment.
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, j As Integer, Trait As Integer For i = 1 To 150 ' 150 par exemple Trait = xlMedium If Cells(i, 10) = Cells(i + 1, 10) Then Trait = xlThin For j = 1 To 10 ' 10 ou autre chose Cells(i, j).Borders(xlEdgeBottom).Weight = Trait Next j Next i End Sub
@+
Yvan
Sorry, Jacques.
J'ai commis une erreur dans la procédure que je t'ai proposé. (J'ai pris la
colonne i en référence au lieu de la colonne J.
Il faut donc remplacer les "9" par des "10" pour avoir le résultat escompté.
Par ailleurs, j'ai fixé d'autorité à 15 le nombre de lignes traitées. A
adapter selon tes besoins évidemment.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer, Trait As Integer
For i = 1 To 150 ' 150 par exemple
Trait = xlMedium
If Cells(i, 10) = Cells(i + 1, 10) Then Trait = xlThin
For j = 1 To 10 ' 10 ou autre chose
Cells(i, j).Borders(xlEdgeBottom).Weight = Trait
Next j
Next i
End Sub
J'ai commis une erreur dans la procédure que je t'ai proposé. (J'ai pris la colonne i en référence au lieu de la colonne J.
Il faut donc remplacer les "9" par des "10" pour avoir le résultat escompté.
Par ailleurs, j'ai fixé d'autorité à 15 le nombre de lignes traitées. A adapter selon tes besoins évidemment.
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, j As Integer, Trait As Integer For i = 1 To 150 ' 150 par exemple Trait = xlMedium If Cells(i, 10) = Cells(i + 1, 10) Then Trait = xlThin For j = 1 To 10 ' 10 ou autre chose Cells(i, j).Borders(xlEdgeBottom).Weight = Trait Next j Next i End Sub
@+
Yvan
JacquesH
Bonjour Yvan,
Je viens de tester la macro, je l'ai un peu adapté à mes besoins réels, c'est parfait.
Merci de ton aide.
Jacques
Bonjour Jacques
mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules
Pourquoi compliqué? Il te suffit de sélectionner ta plage complète avant de définir la MFEC. Attention simplement à l'adressage! Il faut mettre $J1 et non pas J1 ou $J$1 ou J$1. Tu écris la condition qui convient pour la cellule active dans la sélection, et Excel se débrouillera.
De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
C'est vrai. Un autre moyen de t'en sortir est de passer par VBA:
Essaies ceci (à copier dans le code de la feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, j As Integer, Trait As Integer For i = 1 To 15 Trait = xlMedium If Cells(i, 9) = Cells(i + 1, 9) Then Trait = xlThin For j = 1 To 9 Cells(i, j).Borders(xlEdgeBottom).Weight = Trait Next j Next i End Sub
Cà te convient?
@+
Yvan
"JacquesH" a écrit dans le message de news:
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
Bonjour Yvan,
Je viens de tester la macro, je l'ai un peu adapté à mes besoins
réels, c'est parfait.
Merci de ton aide.
Jacques
Bonjour Jacques
mais cela me paraît bien compliqué car je dois la mettre sur toutes les
cellules
Pourquoi compliqué? Il te suffit de sélectionner ta plage complète avant de
définir la MFEC.
Attention simplement à l'adressage! Il faut mettre $J1 et non pas J1 ou $J$1
ou J$1. Tu écris la condition qui convient pour la cellule active dans la
sélection, et Excel se débrouillera.
De plus, il n'y a pas un choix très important de type de bordures dans les
MFC.
C'est vrai. Un autre moyen de t'en sortir est de passer par VBA:
Essaies ceci (à copier dans le code de la feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer, j As Integer, Trait As Integer
For i = 1 To 15
Trait = xlMedium
If Cells(i, 9) = Cells(i + 1, 9) Then Trait = xlThin
For j = 1 To 9
Cells(i, j).Borders(xlEdgeBottom).Weight = Trait
Next j
Next i
End Sub
Cà te convient?
@+
Yvan
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: ebw20URtFHA.3596@TK2MSFTNGP15.phx.gbl...
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures
(xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10
la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à
chaque fois que la valeur de la colonne I change. Cependant, il faut que
la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre
A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10
alors changement de style de bordure) mais cela me paraît bien compliqué
car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un
choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Je viens de tester la macro, je l'ai un peu adapté à mes besoins réels, c'est parfait.
Merci de ton aide.
Jacques
Bonjour Jacques
mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules
Pourquoi compliqué? Il te suffit de sélectionner ta plage complète avant de définir la MFEC. Attention simplement à l'adressage! Il faut mettre $J1 et non pas J1 ou $J$1 ou J$1. Tu écris la condition qui convient pour la cellule active dans la sélection, et Excel se débrouillera.
De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
C'est vrai. Un autre moyen de t'en sortir est de passer par VBA:
Essaies ceci (à copier dans le code de la feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer, j As Integer, Trait As Integer For i = 1 To 15 Trait = xlMedium If Cells(i, 9) = Cells(i + 1, 9) Then Trait = xlThin For j = 1 To 9 Cells(i, j).Borders(xlEdgeBottom).Weight = Trait Next j Next i End Sub
Cà te convient?
@+
Yvan
"JacquesH" a écrit dans le message de news:
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
JacquesH
Bonjour Isabelle et merci à tous les deux.
Jacques
bonjour Jacques,
For i = 2 To Range("J65536").End(xlUp).Row If Range("J" & i) <> Range("J" & i + 1) Then With Range("A" & i & ":J" & i).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With End If Next
isabelle
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
Jacques
Bonjour Isabelle et merci à tous les deux.
Jacques
bonjour Jacques,
For i = 2 To Range("J65536").End(xlUp).Row
If Range("J" & i) <> Range("J" & i + 1) Then
With Range("A" & i & ":J" & i).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
End If
Next
isabelle
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures
(xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à
I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple)
à chaque fois que la valeur de la colonne I change. Cependant, il faut
que la mise en forme s'effectue sur l'ensemble de la ligne (bordure
entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <>
I10 alors changement de style de bordure) mais cela me paraît bien
compliqué car je dois la mettre sur toutes les cellules. De plus, il
n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.
For i = 2 To Range("J65536").End(xlUp).Row If Range("J" & i) <> Range("J" & i + 1) Then With Range("A" & i & ":J" & i).Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With End If Next
isabelle
Bonjour à toutes et tous,
Un petit problème difficile à résoudre pour moi !!!
J'ai un tableau EXCEL de A1 à J(x), mis en forme avec des bordures (xlThin) et classé sur la colonne I : il y a donc par exemple de I2 à I 10 la valeur 1, de I11 à I15 la valeur 2...
Je souhaite mettre un autre type de bordure (xlmedium par exemple) à chaque fois que la valeur de la colonne I change. Cependant, il faut que la mise en forme s'effectue sur l'ensemble de la ligne (bordure entre A10-J10 et A11-J11 dans l'exemple ci-dessus.
Je sais le faire avec la mise en forme conditionnelle (si I11 <> I10 alors changement de style de bordure) mais cela me paraît bien compliqué car je dois la mettre sur toutes les cellules. De plus, il n'y a pas un choix très important de type de bordures dans les MFC.
Merci par avance de votre aide toujours précieuse.