IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Proposition de dates


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 57
    Par défaut Proposition de dates
    Bonjour,

    Alors j'aimerais savoir s'il est possible de faire cette fonction et comment la faire.

    J'ai un tableau sous forme de calendrier de production. J'aimerais faire une fonction qui le rempli automatiquement selon les délais de production (choisis par moi) ainsi que la date d'aujourd'hui. Alors Si je dis 5 jours à telle partie de production, le calendrier se rempli pour respecter les 5 jours... Je mets en screenshot le visuel de mon tableau !

    Nom : image.JPG
Affichages : 552
Taille : 218,0 Ko

    Merci à plus

    Antoine

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Il se rempli de quoi ton calendrier ?
    Un exemple du résultat voulu serait bien !

    Hervé.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 57
    Par défaut
    Il se rempli du code "1152P03" comme j'avais mis en première case ! J'avais oublié de spécifier ! En fait, voici un exemple de "formulaire" que je désirerais que l'utilisateur remplisse

    Nom : image.JPG
Affichages : 290
Taille : 89,5 Ko

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Un début de piste car je ne sais pas sur quelle ligne entrer les valeurs une fois la date trouvée, il faudrait peut être effectuer une recherche de secteur pour savoir sur quelle ligne intervenir ?
    Le code ci-dessous inscrit 3 lignes en dessous de celle des dates :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Sub Appliquer()
     
        Dim Cel As Range
        Dim Debut As Date
        Dim NBJours As Integer
     
        Debut = Date
     
        'recherche de la date sur la ligne 11 de la feuille "Feuil1"
        Set Cel = Worksheets("Feuil1").Rows(11).Find(Debut, , xlValues, xlWhole)
     
        If Not Cel Is Nothing Then
     
            'si trouvée, récupère le nombre de jours en C9 de la feuille "Feuil2"
            NBJours = Worksheets("Feuil2").Range("C9").Value
     
            'et inscrit "1152P03" dans la plage
            Worksheets("Feuil1").Range(Cel.Offset(3, 0), Cel.Offset(3, NBJours - 1)).Value = "1152P03"
     
        End If
     
    End Sub
    Un exemple de procédure pour incrémenter décrémenter la valeur en C9 de la feuille "Feuil2". Les deux boutons appellent la même proc, pour mon exemple, il sont nommés Bouton 1" et Bouton 2" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub Incrementer()
     
        If Application.Caller = "Bouton 1" Then Range("C9").Value = Range("C9").Value + 1
        If Application.Caller = "Bouton 2" Then Range("C9").Value = Range("C9").Value - 1
     
    End Sub
    Hervé.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2015
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 57
    Par défaut
    'recherche de la date sur la ligne 11 de la feuille "Feuil1"
    Set Cel = Worksheets("Feuil1").Rows(11).Find(Debut, , xlValues, xlWhole)
    Le programme fait comment pour reconnaître la date que j'entre en C5 ?
    Et si on veut faire changer le numero de produit, au lieu d'être fixe, par la case B5 ?

    (J'ai tenté de tester mais vu que la date n'est pas cherchée je crois que ça ne fonctionne pas...)

    Le programme va-t-il inscrire des données dans 7 cases horizontale ?
    Comment on ferait pour lui donner des plages à respecter (exemple, à chaque fois que tu inscrit une donnée, descend de deux cases et tasse toi d'une case avant d'écrire la suivante.

    Merci de ton aide je crois que ça avance !!!!

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Le programme fait comment pour reconnaître la date que j'entre en C5 ?
    Oups, il faut changer cette ligne de code :
    par celle-là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Debut = CDate(Worksheets("Feuil2").Range("C5").Value)
    je re-poste le code corrigé avec prise en compte de la cellule B5 pour le produit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Sub Appliquer()
     
        Dim Cel As Range
        Dim Debut As Date
        Dim NBJours As Integer
        Dim Produit As String
     
        'la date doit être dans un format valide comme par exemple 21/08/2015
        Debut = CDate(Worksheets("Feuil2").Range("C5").Value)
     
        Produit = Worksheets("Feuil2").Range("B5").Value
     
        'recherche de la date sur la ligne 11 de la feuille "Feuil1"
        Set Cel = Worksheets("Feuil1").Rows(11).Find(Debut, , xlValues, xlWhole)
     
        If Not Cel Is Nothing Then
     
            'si trouvée, récupère le nombre de jours en C9 de la feuille "Feuil2"
            NBJours = Worksheets("Feuil2").Range("C9").Value
     
            'et inscrit "1152P03" dans la plage
            Worksheets("Feuil1").Range(Cel.Offset(3, 0), Cel.Offset(3, NBJours - 1)).Value = Produit
     
        End If
     
    End Sub
    Le programme va-t-il inscrire des données dans 7 cases horizontale ?
    Si tu entre la valeur 7 pour le nombre de jours, l'inscription se fera sur 7 cellules horizontales.
    Comment on ferait pour lui donner des plages à respecter (exemple, à chaque fois que tu inscrit une donnée, descend de deux cases et tasse toi d'une case avant d'écrire la suivante.
    là, je ne comprends pas trop ce que tu veux ? Si tu veux "donner" une plage, il suffit de le préciser à un moment donné. En attendant plus de précisions.

    Hervé.

Discussions similaires

  1. Date de signature de la proposition
    Par donjuan dans le forum Droit du travail
    Réponses: 2
    Dernier message: 29/11/2013, 11h29
  2. [formulaire] Proposition de la date suivante
    Par Duval51 dans le forum IHM
    Réponses: 11
    Dernier message: 30/03/2006, 09h20
  3. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21
  4. Réponses: 3
    Dernier message: 06/05/2002, 18h24
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo