J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque
cellule est nommée "date01", "date02","date03",..."date10". (format date :
jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates
(format date jj/mm/aaaa)
Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une
valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve
dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01"
Si G >= date01 ET G < date02 alors N="plage02"
Si G >= date02 ET G < date03 alors N="plage03"
Si G >= date03 ET G < date04 alors N="plage04"
Si G >= date04 ET G < date05 alors N="plage05"
Si G >= date05 ET G < date06 alors N="plage06"
Si G >= date06 ET G < date07 alors N="plage07"
Si G >= date07 ET G < date08 alors N="plage08"
Si G >= date08 ET G < date09 alors N="plage09"
Si G >= date09 ET G < date10 alors N="plage10"
Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas.
J'ai bien essayé une macro de ce genre mais sans succès...
Merci pour votre aide
Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra
aider les généreux contributeurs pour faire des tests ! ;o))
http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate()
Dim c As Range
For Each c In Range("ImpEch")
If c.Value < date01 Then
c.Offset(0, 7).Value = "plage01"
Else
If c.Value >= date01 And c.Value < date02 Then
c.Offset(0, 7).Value = "plage02"
etc.....
End If
End If
Next c
End Sub
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
MichDenis
Bonjour Domi,
Dim LaPlage As Range set Laplage = LaPlageDesDates ' ("date01", "date02","date03",..."date10". ) Je suppose que les dates dans LaPlage sont en ordre croissant
for each c in range("ImpEch") Range("N" & c.row) = application.Match(c,LaPlage),1) Next
"Domi" a écrit dans le message de groupe de discussion : # Bonjour à tous,
J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque cellule est nommée "date01", "date02","date03",..."date10". (format date : jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates (format date jj/mm/aaaa) Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01" Si G >= date01 ET G < date02 alors N="plage02" Si G >= date02 ET G < date03 alors N="plage03" Si G >= date03 ET G < date04 alors N="plage04" Si G >= date04 ET G < date05 alors N="plage05" Si G >= date05 ET G < date06 alors N="plage06" Si G >= date06 ET G < date07 alors N="plage07" Si G >= date07 ET G < date08 alors N="plage08" Si G >= date08 ET G < date09 alors N="plage09" Si G >= date09 ET G < date10 alors N="plage10" Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas. J'ai bien essayé une macro de ce genre mais sans succès... Merci pour votre aide Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra aider les généreux contributeurs pour faire des tests ! ;o)) http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate() Dim c As Range For Each c In Range("ImpEch") If c.Value < date01 Then c.Offset(0, 7).Value = "plage01" Else If c.Value >= date01 And c.Value < date02 Then c.Offset(0, 7).Value = "plage02" etc..... End If End If Next c End Sub
Bonjour Domi,
Dim LaPlage As Range
set Laplage = LaPlageDesDates ' ("date01", "date02","date03",..."date10". )
Je suppose que les dates dans LaPlage sont en ordre croissant
for each c in range("ImpEch")
Range("N" & c.row) = application.Match(c,LaPlage),1)
Next
"Domi" <scrat83@free.fr> a écrit dans le message de groupe de discussion :
#rgq04e6JHA.5932@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque
cellule est nommée "date01", "date02","date03",..."date10". (format date :
jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates
(format date jj/mm/aaaa)
Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une
valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve
dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01"
Si G >= date01 ET G < date02 alors N="plage02"
Si G >= date02 ET G < date03 alors N="plage03"
Si G >= date03 ET G < date04 alors N="plage04"
Si G >= date04 ET G < date05 alors N="plage05"
Si G >= date05 ET G < date06 alors N="plage06"
Si G >= date06 ET G < date07 alors N="plage07"
Si G >= date07 ET G < date08 alors N="plage08"
Si G >= date08 ET G < date09 alors N="plage09"
Si G >= date09 ET G < date10 alors N="plage10"
Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas.
J'ai bien essayé une macro de ce genre mais sans succès...
Merci pour votre aide
Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra
aider les généreux contributeurs pour faire des tests ! ;o))
http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate()
Dim c As Range
For Each c In Range("ImpEch")
If c.Value < date01 Then
c.Offset(0, 7).Value = "plage01"
Else
If c.Value >= date01 And c.Value < date02 Then
c.Offset(0, 7).Value = "plage02"
etc.....
End If
End If
Next c
End Sub
Dim LaPlage As Range set Laplage = LaPlageDesDates ' ("date01", "date02","date03",..."date10". ) Je suppose que les dates dans LaPlage sont en ordre croissant
for each c in range("ImpEch") Range("N" & c.row) = application.Match(c,LaPlage),1) Next
"Domi" a écrit dans le message de groupe de discussion : # Bonjour à tous,
J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque cellule est nommée "date01", "date02","date03",..."date10". (format date : jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates (format date jj/mm/aaaa) Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01" Si G >= date01 ET G < date02 alors N="plage02" Si G >= date02 ET G < date03 alors N="plage03" Si G >= date03 ET G < date04 alors N="plage04" Si G >= date04 ET G < date05 alors N="plage05" Si G >= date05 ET G < date06 alors N="plage06" Si G >= date06 ET G < date07 alors N="plage07" Si G >= date07 ET G < date08 alors N="plage08" Si G >= date08 ET G < date09 alors N="plage09" Si G >= date09 ET G < date10 alors N="plage10" Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas. J'ai bien essayé une macro de ce genre mais sans succès... Merci pour votre aide Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra aider les généreux contributeurs pour faire des tests ! ;o)) http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate() Dim c As Range For Each c In Range("ImpEch") If c.Value < date01 Then c.Offset(0, 7).Value = "plage01" Else If c.Value >= date01 And c.Value < date02 Then c.Offset(0, 7).Value = "plage02" etc..... End If End If Next c End Sub
MichDenis
J'ai oublié de mentionner que pour obtenir une chaîne de caractères que tu désires comme réponse : Range("N" & c.row) = LaPlage(application.Match(c,LaPlage),1).name
"MichDenis" a écrit dans le message de groupe de discussion :
Bonjour Domi,
Dim LaPlage As Range set Laplage = LaPlageDesDates ' ("date01", "date02","date03",..."date10". ) Je suppose que les dates dans LaPlage sont en ordre croissant
for each c in range("ImpEch") Range("N" & c.row) = application.Match(c,LaPlage),1) Next
"Domi" a écrit dans le message de groupe de discussion : # Bonjour à tous,
J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque cellule est nommée "date01", "date02","date03",..."date10". (format date : jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates (format date jj/mm/aaaa) Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01" Si G >= date01 ET G < date02 alors N="plage02" Si G >= date02 ET G < date03 alors N="plage03" Si G >= date03 ET G < date04 alors N="plage04" Si G >= date04 ET G < date05 alors N="plage05" Si G >= date05 ET G < date06 alors N="plage06" Si G >= date06 ET G < date07 alors N="plage07" Si G >= date07 ET G < date08 alors N="plage08" Si G >= date08 ET G < date09 alors N="plage09" Si G >= date09 ET G < date10 alors N="plage10" Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas. J'ai bien essayé une macro de ce genre mais sans succès... Merci pour votre aide Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra aider les généreux contributeurs pour faire des tests ! ;o)) http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate() Dim c As Range For Each c In Range("ImpEch") If c.Value < date01 Then c.Offset(0, 7).Value = "plage01" Else If c.Value >= date01 And c.Value < date02 Then c.Offset(0, 7).Value = "plage02" etc..... End If End If Next c End Sub
J'ai oublié de mentionner que pour obtenir une chaîne de caractères que tu désires comme
réponse :
Range("N" & c.row) = LaPlage(application.Match(c,LaPlage),1).name
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion :
uJviqDf6JHA.1372@TK2MSFTNGP05.phx.gbl...
Bonjour Domi,
Dim LaPlage As Range
set Laplage = LaPlageDesDates ' ("date01", "date02","date03",..."date10". )
Je suppose que les dates dans LaPlage sont en ordre croissant
for each c in range("ImpEch")
Range("N" & c.row) = application.Match(c,LaPlage),1)
Next
"Domi" <scrat83@free.fr> a écrit dans le message de groupe de discussion :
#rgq04e6JHA.5932@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque
cellule est nommée "date01", "date02","date03",..."date10". (format date :
jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates
(format date jj/mm/aaaa)
Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une
valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve
dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01"
Si G >= date01 ET G < date02 alors N="plage02"
Si G >= date02 ET G < date03 alors N="plage03"
Si G >= date03 ET G < date04 alors N="plage04"
Si G >= date04 ET G < date05 alors N="plage05"
Si G >= date05 ET G < date06 alors N="plage06"
Si G >= date06 ET G < date07 alors N="plage07"
Si G >= date07 ET G < date08 alors N="plage08"
Si G >= date08 ET G < date09 alors N="plage09"
Si G >= date09 ET G < date10 alors N="plage10"
Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas.
J'ai bien essayé une macro de ce genre mais sans succès...
Merci pour votre aide
Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra
aider les généreux contributeurs pour faire des tests ! ;o))
http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate()
Dim c As Range
For Each c In Range("ImpEch")
If c.Value < date01 Then
c.Offset(0, 7).Value = "plage01"
Else
If c.Value >= date01 And c.Value < date02 Then
c.Offset(0, 7).Value = "plage02"
etc.....
End If
End If
Next c
End Sub
J'ai oublié de mentionner que pour obtenir une chaîne de caractères que tu désires comme réponse : Range("N" & c.row) = LaPlage(application.Match(c,LaPlage),1).name
"MichDenis" a écrit dans le message de groupe de discussion :
Bonjour Domi,
Dim LaPlage As Range set Laplage = LaPlageDesDates ' ("date01", "date02","date03",..."date10". ) Je suppose que les dates dans LaPlage sont en ordre croissant
for each c in range("ImpEch") Range("N" & c.row) = application.Match(c,LaPlage),1) Next
"Domi" a écrit dans le message de groupe de discussion : # Bonjour à tous,
J'ai sur une feuille une liste de 10 dates. 1 date par cellule, chaque cellule est nommée "date01", "date02","date03",..."date10". (format date : jj/mm/aaaa)
J'ai dans la colonne G une plage nommée "ImpEch" qui contient des dates (format date jj/mm/aaaa) Je voudrais inscire dans la colonne N (soit 7 colonnes plus à droite) une valeur texte ("plage01" à "palge10") en fonction de la date qui se trouve dans "ImpEch" et selon la règle suivante :
Si G < date01 alors N="plage01" Si G >= date01 ET G < date02 alors N="plage02" Si G >= date02 ET G < date03 alors N="plage03" Si G >= date03 ET G < date04 alors N="plage04" Si G >= date04 ET G < date05 alors N="plage05" Si G >= date05 ET G < date06 alors N="plage06" Si G >= date06 ET G < date07 alors N="plage07" Si G >= date07 ET G < date08 alors N="plage08" Si G >= date08 ET G < date09 alors N="plage09" Si G >= date09 ET G < date10 alors N="plage10" Si G >= date10 alors N="plage11"
Cela me semblait au départ relativement simple mais je me n'y parviens pas. J'ai bien essayé une macro de ce genre mais sans succès... Merci pour votre aide Domi
J'ai mis sur "ci-joint" un fichier exemple avec des valeurs qui pourra aider les généreux contributeurs pour faire des tests ! ;o)) http://cjoint.com/?gkpcBrxdxK
Sub PlagesDate() Dim c As Range For Each c In Range("ImpEch") If c.Value < date01 Then c.Offset(0, 7).Value = "plage01" Else If c.Value >= date01 And c.Value < date02 Then c.Offset(0, 7).Value = "plage02" etc..... End If End If Next c End Sub
MichDenis
Il y avait une parenthèse fermante en trop ;-)
for each c in range("ImpEch") Range("N" & c.row) = LaPlage(application.Match(c,LaPlage,1).name Next
Il y avait une parenthèse fermante en trop ;-)
for each c in range("ImpEch")
Range("N" & c.row) = LaPlage(application.Match(c,LaPlage,1).name
Next