Aide pour réaliser une macro

Résolu
Bob -  
Le Pingou Messages postés 12249 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

A voir également:

17 réponses

M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   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
_Ritchi_ Messages postés 21333 Date d'inscription   Statut Contributeur Dernière intervention   6 104
 

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
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
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
M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   285
 

Re,

Teste cette formule en F2

=SI(D2="";"PRESENT";SI(ESTNUM(D2);"A RADIER";"EN ATTENTE DE RADIATION"))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   285
 
0
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
M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   285
 

Re,

Le voici en xlsm

Vérifie quand même que ton Excel ne soir pas protégé contre les macros, sinon, tu ne pourras pas les ouvrir

https://www.cjoint.com/c/LHpprgwGlMC

0
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
M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   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
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

Bonjour,

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


0
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
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
M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   285
 

Re,

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

0
Bob
 

Oui il l'est

0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

Bonjour,

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

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


0
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
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

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
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
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 

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


0