Aide pour réaliser une macro

Résolu
Bob -  
Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour à tous, j'ai un tableau Excel et j'aimerais réaliser via une macro l'opération suivante: si une cellule contient une date, me renvoyer une valeur dans une autre cellule. Pourriez vous m'aider s'il vous plait? Je vous remercie par avance

17 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     

    Bonjour,

    Un p’tit classeur avec 10/15 données anonymisées serait mieux pour régler le soucis 

    Allez dans http://cjoint.com
    Cliquez sur "PARCOURIR" pour sélectionner le classeur
    Clic le bouton "CREER LE LIEN"
    Clic droit quand le lien est créé "COPIER LE LIEN"
    Sur le post Clic droit "Coller".

    0
  2. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     

    Bonjour,

    voici un sujet similaire à ta demande d’aide: 

    https://forums.commentcamarche.net/forum/affich-11692494-excel-test-logique-avec-date-comme-valeur

    Ritchi

    0
    1. Bob
       

      Bonjour Ritchi, Merci encore de votre réponse. Je suis allé visiter votre lien et malheureusement il n'est pas adapté au tableau que je souhaite réaliser. J'ai joint un lien un peu plus explicatif de mon besoin. Bonne journée Cordialement

      0
  3. Bob
     

    Bonjour M-12, je vous remercie de votre réponse rapide. voici le lien en question: https://www.cjoint.com/c/LHpjoKsigta

    Je reste à disposition si je ne suis pas assez clair dans mon tableau

    Encore merci de votre aide.

    0
  4. M-12 Messages postés 1349 Statut Membre 285
     

    Re,

    Teste cette formule en F2

    =SI(D2="";"PRESENT";SI(ESTNUM(D2);"A RADIER";"EN ATTENTE DE RADIATION"))
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Bob
     

    Oui je confirme qu'elle fonctionne MERCI. J'aurais préféré l'avoir sous forme de macro pour éviter qu'elle ne soit effacée si je dois inscrire une donnée dans une des cellules. Merci encore

    0
  7. M-12 Messages postés 1349 Statut Membre 285
     
    0
    1. Bob
       

      Encore MERCI M-12 du temps consacré pour son PB. J'ai bien reçu le lien, mais dès que j'essaye de l'ouvrir il affiche une erreur et je parviens à voir le fichier mais sans aucune macro d'affichée. LHpoly4IbqC_LHpjoKsigta-Tableau-TEST.xls

      J'ai un message disant que la macro est supprimée automatiquement

      0
  8. Bob
     

    J'ai tout essayé et malheureusement je ne parviens pas à télécharger le fichier accompagné de ta macro. Je tenterai demain à partir de mon ordinateur bureau. J'ai le message suivant: Désolé... nous avons rencontré un problème dans le contenu de "LHpprgwGIMC_TABLEAU-TEST" Mais nous pouvons essayer de récupérer le max de contenu. si la source est fiable cliquez sur OUI et en le faisant, la macro n'apparait pas.

    En tout cas, un grand grand merci à toi d'avoir pris du temps pour m'apporter ton aide et une bonne fin de journée.

    0
  9. M-12 Messages postés 1349 Statut Membre 285
     

    Re,

    Place cette macro à la place de l'autre dans la Feuil1 du développeur

    Private Sub Worksheet_Change(ByVal Target As Range)
      Dim Dl%
      Dl = Range("A" & Rows.Count).End(xlUp).Row
      If Not Application.Intersect(Target, Range("D2:D" & Dl)) Is Nothing Then
        If Target.Value = "" Then
          Target.Offset(, 2).Value = "PRESENT"
        ElseIf IsDate(Target.Value) Then
          Target.Offset(, 2).Value = "A RADIER"
        Else
          Target.Offset(, 2).Value = "EN ATTENTE DE RADIATION"
        End If
      End If
    End Sub
    
    0
  10. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    Juste au passage, je pense que Bob à l'extension XLS donc il doit le mettre en XLM...!


    0
    1. Bob
       

      Bonjour le Pignon et merci de ta réponse, j'avais pris le soin de modifier l'extension justement en me mettant sur XLMS

      0
  11. Bob
     

    En mettant en application, je rencontre l'erreur suivante "Erreur d'exécution 424 objet requis" pour cette ligne :  If Not Application.Intersect(Target, Range("D2:D" & Dl)) Is Nothing Then.

    Merci encore

    0
  12. M-12 Messages postés 1349 Statut Membre 285
     

    Re,

    Est ce que ton fichier final est identique à l'exemple sur les premieres lignes ?

    0
  13. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    La macro de M-12 dans votre fichier exemple fonctionne correctement:

    Le Lien : https://www.cjoint.com/c/LHptF15tS5n


    0
  14. Bob
     

    J'essayerai demain à partir de mon ordinateur de bureau. Sans doute que le problème émane de mon macbook. Encore MERCI de votre patience et Merci à M-12 également. Bonne soirée Cordialement,

    0
  15. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    C'est bien possible que le problème soit lié au code VBA sur MacBook.

    Note: contrôler que la variable 

      Dl = Range..... est bien la même orthographe dans If Not Application.Intersect(Target, Range("D2:D" & Dl))...!
    0
    1. Bob
       

      Bonjour, j'ai testé la formule et elle fonctionne parfaitement effectivement. un énorme merci à vous 2 de votre réactivité et de votre aide précieuse.

      0
  16. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Merci Bob, pensez de marquer comme résolu si c'est le cas.


    0