Les macros

Bonjour,

Je ne sais absolument pas faire les macros, et chaque fois que j'essaie de comprendre.. je ne comprend pas

Voici la situation :

J'ai un tableau qui est rempli par 2 personnes.

Je le remplie à 99% et ma collègue doit remplir une seule case B10.

Dès lors qu'elle remplie sa case, la date s'affiche automatiquement en B11 grace à la formule suivante : =SI(ESTVIDE(B10);"";AUJOURDHUI())

Or, je voudrais que cette date en B11 reste figé, c'est à dire que du moment qu'elle s'est mise à la date de saisie, elle reste à cette date.

Merci de m'aider sur la procédure car à chaque nouvelle ouverture, la date se met à la date du jour, ce qui est logique.

Je précise que la date figé peut-etre à un autre emplacement que B11, par ex en B12.

Merci à ceux qui voudront bien m'aider.

Et si il faut faire des macros et mettre une formule, merci de me dire comment procéder, comme si j'avais 3 ans quoi....

Je ne sais pas du tout faire de macro et quand je regarde, je ne sais pas ou il faut mettre les formules que tout le monde donne.. Est-ce qu'il faut juste copier toutes les lignes, et ou les coller ??

Merci encore

Bonjour malakitte.

Ouvre ton fichier excel appuyes sur ALT+F11.

Clic gauche sur le nom de ton classeur et tu fais insertion -> module.

Copie le code suivant sur la page qui apparait.

Sub collegue()
nb = InputBox("Entrez le nb") ' Met entre les guillemets le message que tu souhaites
Range("B10") = nb
Range("B11") = Date
End Sub

Ferme l'editeur visual basic et sauvegarde avec prise en charge des macros.

Ensuite fait ALT + F8 choisi option et attribue une touche de raccourci.

Lorsque ta collegue veut mettre sa donnée dis lui de faire le raccourci que tu as choisi et ça devrait aller.

Cdlt.

Bonjour,

Déjà, merci de me répondre, c'est sympa.

Quand j'ouvre le classeur et que je fais (FN) + F11 (sinon ça m'enlève la luminosité si je fais ALT F11), une feuille graphique apparait dans un nouvel onglet... et si je fais clic gauche sur le nom de l'onglet, je n'ai pas insertion - module. Par contre je peux faire inserer et j'ai plusieurs choix qui apparaissent : feuille, graphique, macro MS exel, macro intl MS excel...

J'ai la version 2013, c'est peut-etre pour ça ???

N'ayant pas excel 2013 j'ai du mal à te répondre.

Regarde dans l'aide d'excel comment avoir l'onglet développeur si tu arrives à l'afficher c'est gagné dans cet onglet tu devrais avoir un bouton Visual Basic et un bouton macro le ALT F11 correspond au bouton Visual Basic et ALT F8 au bouton macro.

Cdlt.

Quand je clic droit sur ma feuille, il y a : visualiser le code.

J'ai donc copié tout le code donnée, et j'ai fermé.. mais après, je sais pas ce que ça donne. Rien ne se passe...

Je suis vraiment pas douée..

merci quand meme d'avoir essayer de m'aider.

Cordialement.

bonjour,

tu y es presque,

si tu fais clic-droit sur la feuille, puis visualiser le code, tu arrives dans l'éditeur vba. à gauchetu devrais voir une fenêtre avec les projets vba, fais un clic-droit sur le nom de ton classeur, puis insérer module, puis colle le code que tu as copié du forum. ensuite fait alt-F11 où clique sur l'icône excel en et à gauche, pour passer à l'écran excel.

une fois dans l'écran excel, fais alt-F8, choisis la macro et pousse sur le bouton exécuter.

bonne chance !

Bon alors, j'ai réussie à mettre le code, à executer ect.. ect.. mais alors je vois pas à quoi ça sert en fait les macros..

Là, si j'ai compris, ma collègue doit faire plein de manipulation alors que je voudrais qu'elle n'ai qu'une chose à faire : remplir la cellule B10.

Quand ma collègue rempli B10, je voudrais que B11 se mette à la date de la saisie (de ma collègue) et que cette date soit figé au jour de la saisie.

Je me suis peut-etre mal exprimée, c'est peut-etre pas une macro dont j'ai besoin.

Merci d'avoir pris du temps pour moi en tous les cas.

Bonjour,

pour une insertion automatique de la date du jour en B11 lors d'une modification de B10, on peut passer par une maco évènementielle.

pour introduire la macro évènementielle

en excel, aller sur la page sur laquelle se trouve la cellule B10 concernée, puis clic droit sur l'onglet, visualiser code, coller le code qui suit. (attention il s'agit c'est différent de la méthode précédente !)

puis revenir vers excel avec ALT-F11

via le menu fichier, faire sauver sous, choisir sauvetage avec macro.

puis tester, quand tu modifies B10, ma date sera introduite automatiquement en B11.

tu parlais d'autres modifications possibles en colonne B, je peux adapter le code, mais dans ce cas est-ce toujours B11 qui devra recevoir la date du jour ? sinon merci d'expliquer comment déterminer la cellule qui devra recevoir la date en fonction de la cellule modifiée.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$10" Then
Range("B11") = Int(Now())
End If
End Sub

Alors, là, chapeau bas !!! je crois que ça marche !!!

J'ai rien compris à la manip, ni à ce que j'ai copié, ni au pourquoi du comment, mais ça joue, la date du jour s'affiche.

(Au départ, ça ne marchait pas car en fait, il n'y a que la cellule B10 que l'on peut remplir, toutes les autres -dont la B11- sont verrouillées, mais en déverrouillant B11, la date d'aujourd'hui apparaît).

Verdict demain, si la date est restée à aujourd'hui, c'est que c'est tout bon.

Je te redirai demain si ça t’intéresse de savoir.

En tous les cas, merci, c'est super sympa de ta part.

re-bonjour,

si tu ne modifies pas B10 demain, la date en B11 ne devrait pas changer.

pour ce qui a été fait :

c'est un mini programme (une macro) qui s'exécute dès qu'il y a quelque chose qui a été modifié sur la feuille. (worksheet_change)

1) la macro vérifie si le changement s'est fait sur la cellule B10 (if target=$b$10)

2) si c'est le cas, la macro met la date du jour en B11, range("B11")=int(now())

Bonjour.

Bon ben , nickel, ça marche.

La date est bien restée à hier.

Merci encore, si j'ai besoin d'aide, je saurai ou venir !


(pourquoi je suis en violette alors que tout le monde est vert ??)

Rechercher des sujets similaires à "macros"