XL 2010 VBA: Inscrire la date dans une cellule en fonction de ce qui se trouve dans d'autres cellules de la ligne

SimBer

XLDnaute Nouveau
Bonjour à tous

Depuis plusieurs années, j'arrive à bricoler entre des morceaux de code trouvés à gauche à droite et des enregistrements de macro mais là je suis un peu dépassé...
J'ai un fichier qui reprend l'ensemble des licenciés de mon club de foot. Chaque licenciés est enregistré dans l'onglet de sa catégorie (U6-U7 ; U8-U9....)
Ce listing reprend des informations personnelles et aussi la taille de survêtement et de paire de chaussettes souhaités par chaque licencié
Pour chaque onglet
Les tailles de survêtement (Pantalon et Veste) sont respectivement rangées en colonne Q et R (le premier licencié se trouve enligne 11)
La taille des chaussettes est rangée en S
Lorsque j'ai assez de commande je clique sur un bouton qui va me lancer l'impression du bon de commande, généré une macro qui me permet de d'enregistrer les quantités commandées (cf code ci-dessous)

Sub Validation_commande()

If MsgBox("Voulez-vous éditer un bon de commande ?", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Demande de confirmation") = vbYes Then

Call Impression_bon_de_commande
Call Enregistrement_des_quantités_commandées
End If
'
End Sub


J'aimerais ajouter à cette macro un module qui irait dans certains onglets (attention pas tous !!!)
Il regarderait pour chaque ligne (11 à 150) si la cellule Q est non vide. Si c'est le cas vérifier si la cellule W est vide. Si vide, inscrire la date du jour, si non vide ne rien faire
Pour résumer, je voudrai inscrire en W la date à laquelle je passe la commande des équipements de chaque licenciés
Voilà le début de mon travail mais je ne constate aucun effet

Sub inscription_date_de_commande()


For i = 1 To Range("Q11:W100").Row
If Cells(i, 17).Value <> "" And Cells(i, 23).Value = "" Then ActiveCell(i, 23).Value = Date


Next

End Sub


Si une âme charitable est prête à m'aider çà sera très sympa
Bonne journée à tous
Simon
 

SimBer

XLDnaute Nouveau
Bonjour,

Ci-joint le fichier concerné
Les onglets concernés sont de U6-U7 à Loisir F (exclu TdB, Bon de commande et boutique club)
Pour rappel:
"J'aimerais ajouter à cette macro un module qui irait dans certains onglets (attention pas tous !!!)
Il regarderait pour chaque ligne (11 à 150) si la cellule Q est non vide. Si c'est le cas vérifier si la cellule W est vide. Si vide, inscrire la date du jour, si non vide ne rien faire
Pour résumer, je voudrai inscrire en W la date à laquelle je passe la commande des équipements de chaque licenciés "

J’espère que se sera plus clair.
Merci pour votre intérêt
Bonne journée
Simon
 

Pièces jointes

  • listing licence v test.xlsm
    444.8 KB · Affichages: 5

danielco

XLDnaute Accro
Essaie comme ça :

VB:
Sub Validation_commande()
    Dim Sh As Worksheet, I As Long
    If MsgBox("Voulez-vous éditer un bon de commande ?", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Demande de confirmation") = vbYes Then
    For Each Sh In Sheets
      If Sh.Name = "Loisir F" Or Left(Sh.Name, 1) = "U" Then
        For I = 11 To 150
          If Sh.Cells(I, "Q") <> "" And Sh.Cells(I, "W") = "" Then
            Sh.Cells(I, "W") = Date
          End If
        Next I
      End If
    Next Sh
    Call Impression_bon_de_commande
    Call Enregistrement_des_quantités_commandées
    End If
'
End Sub

Daniel
 

Discussions similaires

Réponses
3
Affichages
689

Statistiques des forums

Discussions
299 841
Messages
1 979 469
Membres
206 743
dernier inscrit
yaya20