Bonsoir à tous,
Dans mon application, j'ai essayé d'avoir une MFC dans n'importe quelle feuille nouvellement crée.
Mais voila, je n'arrive pas à réaliser ce dont je voudrais.
Quel serait le problème d'après vous ?
Merci d'avance.
Bonsoir à tous,
Dans mon application, j'ai essayé d'avoir une MFC dans n'importe quelle feuille nouvellement crée.
Mais voila, je n'arrive pas à réaliser ce dont je voudrais.
Quel serait le problème d'après vous ?
Merci d'avance.
Salut
Le plus simple et de supprimer toute tes MFC.
Puis tu sélectionnes uniquement ton tableau et tu crées une MFC avec ce code
avec la couleur de fond souhaité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =MOD(LIGNE();2)=1
Ensuite lorsque tu veux ajouter des données, au lieu de les mettre simplement à la ligne, tu ajoutes une ligne à la fin de ton tableau.
Comme ça
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Private Sub CommandButton1_Click() With ThisWorkbook.Sheets("BD") 'On insert une ligne à la fin du tableau (les MFC sont ajoutées automatiquement .Cells(.Rows.Count, "A").End(xlUp).Offset(1).EntireRow.Insert 'On place les donnée With .Cells(.Rows.Count, "A").End(xlUp).Offset(1) .Value = ND.Text .Offset(0, 1).Value = Transport.Text .Offset(0, 2).Value = Paire.Text '[...] je te laisse mettre les autres End With 'On tri les données .Range("A6", .Cells(.Rows.Count, "A").End(xlUp).Offset(0, 6)).Sort Key1:=.Range("A6"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom Unload UserForm2 End With End Sub
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
Bonsoir Qwazerty,
Je n'ai pas de problème dans la feuille "BD".
Le problème se pose seulement dans le reste des feuilles qui seront crées.
Par exemple dans la feuille "Asn".
La création automatique des feuille se fait à partir la liste déroulante de critère en "C2:C3", ainsi une MFC est appliquée.
Mais, en regardant la feuille "Asn" on ne trouve pas de MFC.
Dans l'événement :
Il y'a deux MFC, une avec couleur et bordure, la deuxième avec bordure seulement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Private Sub Worksheet_Change(ByVal Target As Range) ... ''''--------------------------------- MFC -------------- Sheets(temp).[A2:G4000].Select With Selection 'ActiveCell .FormatConditions.Delete '---- MFC (1) ---- .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=ET(MOD(LIGNE();2)=0;$A1<>"""")" With .FormatConditions(1).Borders .LineStyle = xlContinuous .Weight = xlHairline .ColorIndex = 6 End With With .FormatConditions(1).Interior .ColorIndex = 35 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With '---- MFC (2) ---- .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=ET(MOD(LIGNE();2)=1;$A1<>"""")" With .FormatConditions(2).Borders .LineStyle = xlContinuous .Weight = xlHairline .ColorIndex = 6 End With End With '----------- FIN MFC ----------------- ..... End Sub
J'espère avoir bien exposé le problème![]()
Bonsoir,
regarde, un début de piste, je t'ai ajouté la MFC une couleur sur 2 pour toutes tes feuilles créées. Ensuite, il suffit d'ajouter 2 autres conditions pour tes bordures.
J'ai pris le code sur un autre site.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 '==== MFC ===== 'Recherche de la Dernière ligne de la feuille créée L = Sheets(temp).Range("A1").End(xlDown).Row Set mc = Sheets(temp).Range("A2:g" & L) myval = mc.Address(RowAbsolute:=False, columnabsolute:=False) With Sheets(temp).Range("A2:g" & L) 'Supprime les MFC existantes .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE(" & myval & ");2)" With .FormatConditions(1) 'Définit la couleur de fond de la cellule lorsque la condition sera vraie. .Interior.ColorIndex = 35 'Couleur de la MFC End With End With '==== FIN MFC ====
Bonsoir did85,
J'ai ajouter les bordures à la MFC, mais ça ne marche pas encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 '==== MFC ===== 'Recherche de la Dernière ligne de la feuille créée L = Sheets(temp).Range("A1").End(xlDown).Row Set mc = Sheets(temp).Range("A2:G" & L) myval = mc.Address(RowAbsolute:=False, columnabsolute:=False) With Sheets(temp).Range("A2:G" & L) 'Supprime les MFC existantes .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE(" & myval & ");2)" With .FormatConditions(1) 'Définit la couleur de fond de la cellule lorsque la condition sera vraie. .Interior.ColorIndex = 35 'Jaune End With With .FormatConditions(1).Borders .LineStyle = xlContinuous .Weight = xlHairline .ColorIndex = xlAutomatic '6 End With .FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE(" & myval & ");2)=1" With .FormatConditions(2).Borders .LineStyle = xlContinuous .Weight = xlHairline .ColorIndex = xlAutomatic '6 End With End With '==== FIN MFC ====![]()
Salut
Je savais bien qu'il fallait que je l'a fasse dépanner cette boule de cristal...
Maintenant oui... voila pourquoi il y a des règles pour poster un message, ainsi tout le monde gagne du temps.J'espère avoir bien exposé le problème![]()
Bon tu dis que tu as pas de soucis avec ta MFC, moi je te dis que si, si tu reprend mon message, que pour la coloration une formule de ce type est suffisante (pas besoin de variable à l’intérieur)
avec couleur de ton choix en format
Code : Sélectionner tout - Visualiser dans une fenêtre à part =MOD(LIGNE();2)=1
ca te permet de colorer une ligne sur deux, l'autre ligne reste de couleur neutre.
Pour ce qui est des cadres, je ne comprend toujours pas ce que tu souhaites exactement, j'ai beau regarder celles faites sur ton fichier, je n'en saisi pas la logique. Explique exactement ce que tu souhaites encadrer. si besoin produit manuellement le résultat sur une feuille excel et poste une image de l'apparence a obtenir.
++
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
Bonjour Qwazerty,
Si je reprends seulement cette formule sans condition, toutes les lignes de la plage concernée seront coloriées.
Ce que j'aimerais faire, c'est de ne colorier que les lignes dont lesquels la première cellule $An est renseignée.
Si elle est vide, pas besoin d'appliquer la MFC.
Comme je masque le quadrillage des feuilles, j'aimerais cadrer chaque ligne de donnée ajoutéePour ce qui est des cadres, je ne comprend toujours pas ce que tu souhaites exactement, j'ai beau regarder celles faites sur ton fichier, je n'en saisi pas la logique. Explique exactement ce que tu souhaites encadrer. si besoin produit manuellement le résultat sur une feuille excel et poste une image de l'apparence a obtenir.
Et que les meilleurs solutions soient les bienvenues.
Salut
Pourquoi appliques tu la MFC sur tant de ligne?
Applique la uniquement sur les lignes contenant des données.
Par la suite si tu veux rajouter des lignes il suffit d'inserer une ligne à la dernière position du tableau, ainsi les MFC seront prises en compte sur les cellules rajoutées.
Autre solution, bien plus simple, étant donnée que tu utilises Excel 2007, regarde du coté des Tableaux.
Tu cliques n'importe où dans ton tableau de données, puis tu vas dans l'onglet Insertion du menu et tu cliques sur Tableau. Excel va sélectionner ton tableau et te colorer les lignes. Avec un tableau, si tu ajoutes des données à la ligne d'après, il se redimensionne sans que tu es quoi que ce soit à faire.
++
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
Partager