Sélection plusieurs cellules

Bonjour le forum,

Je vous expose mon problème car je n'ai pas réussi à trouver une solution.

Voilà, j'ai la macro ci-dessous (code présent dans la feuille) qui m'affiche une date dans la cellule U24 si et seulement si un nombre est noté dans la cellule A24. La date qui s'affiche est la date du jour où le nombre est saisi en A24 + 1 jour.

Moi je voudrai que cette macro prenne en compte toutes les cellules de la colonne U et toutes les cellules de la colonne A et cela bien sur en fonction de la date de saisie du nombre car dans ma macro ce n'est que pour les cellules U24 et A24. Je voudrai que se soit la même chose pour les cellules U25 et A25, U26 et A26...

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a24")) Is Nothing Then Exit Sub
If [a24] > "0" Then [U24] = CDate(Date + 1)
End Sub

Merci de votre aide.

Essaie avec ça plutôt :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If Target > 0 Then Target.Offset(, 20) = CDate(Date + 1)
End Sub

Merci vba-new pour ta réponse,

Malheureusement elle ne fonctionne pas car lorsque je saisie un chiffre > à 0 dans la 1ere colonne, la date ne s'affiche pas dans la 21 eme colonne.

Re,

Regarde dans le fichier joint, ça marche :

10fichier-test.xls (17.50 Ko)

Si ça ne marche pas chez toi, envoie un bout de ton fichier. Ca permettra d'adapter une solution.

N'oublie pas de remplacer ton code actuel par celui que j'ai posté plus haut.

Entre temps j'ai trouvé ce code qui apparemment marche. Quand penses-tu ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(1)) Is Nothing Then
    Dim C As Range
    For Each C In Columns(1).Cells
        If C > "0" Then
            Application.EnableEvents = False
            Cells(C.Row, 21) = CDate(Date + 1)
            Application.EnableEvents = True
        End If
    Next C
End If
End Sub

J'aime pas trop ces Application.EnableEvents. Si jamais le code buggait et que le Application.EnableEvents a été initialisé à False, il faudrait créer une macro qui remet cette valeur à True sinon les évènements des feuilles de calcul ne marcheraient plus.

Mais le code marche.

J'en ai mis un équivalent dans le fichier joint plus haut.

Bon ok,

je vais plutôt tenir compte, par précaution, de ton code. Je vais l'intégrer dans mon fichier.

Merci pour tes conseils et heureusement qu'il existe des personnes qui prennent du temps pour aider les autres.

En tout cas je trouve ce forum super.

Ok. C'est à toi de voir

En théorie, le code que tu as proposé est plus rapide. En pratique, le gain est tellement infime qu'on ne voit pas la différence.

A+

Rechercher des sujets similaires à "selection"