chris09300
Messages postés140Date d'inscriptionlundi 9 juin 2008StatutMembreDernière intervention18 avril 2012
-
17 déc. 2011 à 17:35
chris09300
Messages postés140Date d'inscriptionlundi 9 juin 2008StatutMembreDernière intervention18 avril 2012
-
18 déc. 2011 à 12:34
Bonjour
j'ai un tableau de U3 a Y67,dans U3 a U67, j'ai des valeurs 7101 7102 etc
je souhaiterais si les cellules W3 - X3 = 1 semaine mettre la cellules U3 de couleur 65535.
si W3 - X3 = 2 semaines cel U3= col 10092390
si W3 - X3 = 3 semaines cel U3= col 16777062
si W3 - X3 = 4 semaines cel U3= col 12497879
a integrer dans mon code ci dessous:
Private Sub CommandButton2_Click()
Dim DerLigS As Long
Dim MaRech As Range, CelFin As Range
Application.ScreenUpdating = False
If Me.Numero.Value <> "" Then
With Sheets("AR-Base")
DerLigS = .Cells(.Rows.Count, 21).End(xlUp).Row
Set MaRech = .Range("U3:U" & DerLigS).Find(Me.Numero.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not MaRech Is Nothing Then
'On décale les cellules à partir de C vers la droite
'.Range("C" & MaRech.Row).Insert xlShiftToRight
'La dernière cellule de la ligne MaRech.Row
'Set CelFin = .Cells(MaRech.Row, .Columns.Count).End(xlToLeft)
'En B on insère la formule
'.Range("V" & MaRech.Row).Formula = "=CountA(V" & MaRech.Row & ":" & CelFin.Address(0, 0) & ")"
Set CelFin = Nothing
'On écrit en C notre texte et on applique la mise en forme
With .Range("W" & MaRech.Row)
.Value = CDate(DTPicker1.Value)
.Font.Name = "Arial"
.Font.Size = 12
.Borders.LineStyle = xlContinuous
End With
With .Range("V" & MaRech.Row)
.Value = Me.TextBox1.Value
.Font.Name = "Arial"
.Font.Size = 14
.Borders.LineStyle = xlContinuous
End With
With .Range("X" & MaRech.Row)
.Value = CDate(DTPicker2.Value)
.Font.Name = "Arial"
.Font.Size = 12
.Borders.LineStyle = xlContinuous
End With
Set MaRech = Nothing
End If
End With
Me.TextBox1.Value = ""
[W3] = DTPicker1.Value
Application.ScreenUpdating = True
End If
End Sub
et passer a la ligne suivante jusqu'a la derniere ligne
merci
cris
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 17 déc. 2011 à 18:10
Bonjour,
Tu peux utiliser les mises en forme automatique.
Regardes ensuite, le code généré et comment propager la mise en forme sans écraser le contenu des cellules (Étirement spécial (je n'ai pas le nom exacte en tête)).
Sinon, tu travailles avec quelle version d'Excel ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 17 déc. 2011 à 23:03
Salut
Mise en forme automatique : voir dans les menus et dans l'aide.
Malgré tout, tu ne pourras faire que des comparaisons basiques dans les conditions de cette fonction très pratique.
Le mieux serait de travailler avec une boucle, telle que tu l'as fait dans le code exemple (qui n'a pas grand chose à voir avec le problème, d'ailleurs)
Une boucle, donc, et l'utilisation de la fonction DateDiff afin de calculer l'écart entre les deux dates (qu'on suppose y avoir dans les cellules), genre
Dim oRange As Range
Set oRange = Range("U3")
If DateDiff("d", oRange.Value, oRange.Offset(0, 2).Value) > 7 Then
' Plus de 7 jours
...
Dans ton énoncé
" si W3 - X3 = 2 semaines cel U3= col 10092390 "
Que veut dire "col" ?
Couleur ?
C'est le genre de détail dans un explicatif qui fait qu'on n'y comprend rien.
Vala
Jack, =fr MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
chris09300
Messages postés140Date d'inscriptionlundi 9 juin 2008StatutMembreDernière intervention18 avril 20121 17 déc. 2011 à 23:55
tu as raison cel au de cellule
et col au de couleur, j'aurais mieux fait de tout ecrire pour une meilleure comprehension
et que la cellule X3 - la cellule W3 est egale a 7 jours alors U3 de couleur jaune
si 14 jours couleur verte, si 21 jours couleur bleu clair, et si = 4 semaines = couleur grise
et ainsi de suite pour les lignes suivantes.
cela aurait ete clair
cris
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 18 déc. 2011 à 01:00
Ok, donc l'idée que je t'ai fournie est correcte.
Il te suffit de créer une boucle sur chacune des cellules de X3 à X...
Dans le code d'exemple, je me suis trompé : ce n'est pas U3 mais X3 qu'il te faut, et dans ce cas, la cellule W3 se trouve à l'Offset (0, -1)