VBA Pour chaque cellule non vide

Bonjour,

Je suis plutôt débutant sur VBA et je cherche à créer une macro. Je suis cependant bloqué à un point. Je joins à ce message un classeur de référence.

Mon problème est le suivant : Je voudrais que pour chaque cellule non vide de la colonne Règlement, s'affiche sur la même ligne et dans la colonne valeur la valeur afficher dans la cellule de la colonne Réglement +3 sauf si la date tombe sur un samedi, dimanche ou jour férié dans ce cas +5

12classeur-test.xlsx (11.43 Ko)

Les explications de sont pas très explicites mais le classeur devrait facilité la compréhension.

De plus, je pourrais faire en sorte que cela marche avec une formule directement écrit dans les cellules mais je suis limité sur le nombre de SI imbriqué, il n'y a pas un moyen de supprimer cette limite?

J'étais partis sur un code de ce genre

DIM cell as range

For Each cell In Range("D:D" & ValeurDate)

IF cell <> "" then

Bonjour Yomak76,

Voici un code VBA pour votre manipulation. Attention pas de formule en colonne K

Sub AjouterValeur()
    Dim Cell As Range
    Dim RetourValeur
    Dim TypeJour
    On Error Resume Next
    For Each Cell In Range("K5:K" & Cells(Rows.Count, "K").End(xlUp).Row)
        If Not IsEmpty(Cell) Then
            RetourValeur = Cell
            TypeJour = Cell.Offset(0, -3).Value

                If TypeJour = "Samedi" Or TypeJour = "samedi" Or TypeJour = "Férié" Then
                    RetourValeur = RetourValeur + 5
                Else
                    RetourValeur = RetourValeur + 3
                End If

            Cell.Offset(0, 2).Value = RetourValeur
        End If
    Next Cell

End Sub

Bonjour,

Merci beaucoup pour votre aide, Cela fonctionne bien sauf pour les résultats.

En effet, votre code indique qu'il faut que la date du jour soit Samedi, Dimanche ou Férié pour faire +5. Hors il faudrait que si on applique +3 et qu'on tombe sur un samedi,dimanche ou férié, on ajoute +5 à la place des +3 (ou rajouter +2 aux +3)

Je ne sais pas si je suis clair?

Aie ! Désolé mais je ne comprend pas ?

Re-bonjour,

Pour exemple, avec ce code, le règlement du mercredi 4 janvier tombe au 7 janvier. Or le 7janvier et un dimanche. Dans ce cas il faudrait ajouter 2 jours en plus (soit arrivé sur le lundi 9 janvier).

Si je comprends bien avec ce code il y a 3 jours d'ajouté tout le temps sauf le samedi, dimanche et jours férié ou il y a 5 jours d'ajoutés. Cependant il n'y à jamais de règlement le samedi ou dimanche.

Est-ce plus clair?

Ps : pour le règlement du 2 janvier, la date de valeur du 5 janvier est correcte car il s'agit d'un vendredi.

Rechercher des sujets similaires à "vba chaque vide"