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 :

Blocage / Reset d'une valeur dans une cellule spécifique


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Blocage / Reset d'une valeur dans une cellule spécifique

    Bonjour,

    Je cherche quelque chose de relativement simple,
    mais comme je suis un gros noob en macro et excel, j'ai besoin d'une petite aide 😅

    Pour que ce soit plus simple j'ai fais une infographie de ce que j'ai besoin:

    Nom : Exemple Macro Excel.png
Affichages : 153
Taille : 67,6 Ko

    Pour la date j'ai trouvé, mais je ne sais pas comment obligé la macro à rentrer automatiquement la date dans la cellule de droite
    Idem pour le "Ressource du Housing"

    Code:
    Sub Date_Actuelle_1()
    * * * * ActiveCell = Now
    End Sub

    J'aimerai éviter que l'on est besoin de sélectionner la cellule en question, de manière à juste cliquer.

    Pour la "Machine à Rêve de Claire"

    J''ai trouvé comment rajouter +1 à la cellule de droite, mais même problème, il faut sélectionner la cellule au préalable,
    et j'aimerai bien que cela s'ajoute à la cellule de droite directement, et que cette valeur soit bloqué à 6 maximum.
    De plus, j'aimerai que le bouton du dessous Reset à 0.

    Code:
    Sub Rectangle2_Cliquer()
    * ActiveCell = ActiveCell + 1
    End Sub

    Et pour le Reset cela ne fonctionne pas:

    Code:
    Sub Reset_a_0()
    * ActiveCell = ActiveCell = 0
    End Sub

    Ce serait nettement plus pratique, plus beau, plus simple.

    Merci d'avance à celui qui m'aiderai à faire marcher tout cela 😘


  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 389
    Points : 2 022
    Points
    2 022
    Par défaut
    Salut,

    Utilises des références.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim Wb As Excel.Workbook
    Set Wb = ThisWorkbook
     
    Dim Ws As excel.Worksheet
    Set Ws = Wb.Worksheets("Feuil1")
     
    Dim Rng As excel.Range
    Set Rng = Ws.Range("B8")
     
        '// Assigne "New value" à la cellule B8 de la feuille Feuil1, et aucune autre
    Rng.Value = "New Value"
    Les Objets "Active" (ActiveWorkbook, ActiveSheet, ActiveCell ect ...) et Selection sont très dépendant du contexte, moins on les utilises, mieux on se porte.

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Je t'avouerai que je ne rien compris.

    • Je suis censé mettre cela à la place de quoi?

    • A quel moment je défini la fonction "Now"

    • Comment je fais pour bloquer la fameuse valeur à 6?

    • Et Reset à 0?

    (Tout en pressant les boutons)

    Encore une fois je suis vraiment débutant, j'ai juste coller des bouts de code en macro,
    ca fonctionne plutôt bien, mais j'aimerai que ce soit parfait et plus simple d'utilisation.

    Merci d'avance 😉

  4. #4
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Quelqu'un m'a aussi répondu sur un autre forum.

    Et ça marche plutôt très bien! 😎


    Nom : Exemple Macro Excel2.png
Affichages : 87
Taille : 10,9 Ko

    Il faudrait juste désormais dans la Machine à Rêve de Claire
    la valeur maximale de la cellule soit bloquée à 6.

    Code Actuel:
    Sub insererDateEtHeure()
    Range("C5").Value = Now
    End Sub
    Sub insererDateEtHeure2()
    Range("F10").Value = Now
    End Sub
    Sub Machine_a_reve_1()
    Range("I3").Value = Range("I3") + 1
    End Sub
    Sub Reset_a_0()
    Range("I3").Value = 0
    End Sub


  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 389
    Points : 2 022
    Points
    2 022
    Par défaut
    Citation Envoyé par WhiteWidow Voir le message
    • Je suis censé mettre cela à la place de quoi?
    Nulle part, ce n'est qu'un exemple et non une solution. Le but est de te montrer la bonne voie pour que tu apprennes.
    Citation Envoyé par WhiteWidow
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C5").Value = Now
    Malheureusement ce code est très dépendant du contexte, il est équivalent à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.ActiveSheet.Range("C5").Value = Now
    Ce qui pose problème:
    Comment peux-tu garantir que le classeur actif est le bon ?
    Comment peux-tu garantir que la feuille active est la bonne ?

    L'exemple que je t'ai montré commence par référencer le classeur contenant le code.
    Il référence ensuite la feuille nommée Feuil1 dans ce même classeur.
    Il référence la cellule B8 de la feuille nommée Feuil1.
    Il assigne une valeur à cette cellule.
    Quel que soit le classeur ou la feuille active, ce sera toujours la même cellule qui est manipulée.

    Citation Envoyé par WhiteWidow
    j'ai juste coller des bouts de code en macro
    C'est bien de copier/coller, comprendre ce que l'on fait c'est encore mieux.
    Il y a suffisamment de tutoriels qui traînent sur internet, prends-en un comme livre de chevet.

    Developper, contrairement à ce qu'une multitude de personnes / sites internet veulent faire croire, c'est difficile. Et développer correctement, ça l'est encore plus.
    Sur un petit projet, copier / coller des codes depuis internet, ça dépanne.
    Sur un projet moyen à gros, cela va plus t'enfoncer dans la merde qu'autre chose.
    Donc autant t'investir un minimum.

  6. #6
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Le problème étant que je m'aventure là dedans par besoin, et non par envie même si cela m'intéresse,
    mais je m'occupe aussi d'un clan, d'une alliance, et cela devient vite compliqué.

    Je dois m'occuper du recrutement, du social, du serveur Discord, et j'en passe.
    Si seulement j'avais le temps.

    De plus, j'ai pratiquement terminé, cela marche comme sur des roulettes sans pour autant modifier quoi que ce soit aux autres feuilles du classeur!
    Il n'y a plus que le verrouillage de la valeur maximale, et j'aurai réussi ce petit truc afin que l'on puisse ce servir du classeur pour différent compteur.

    Et je ne pourrais malheureusement m'aventurer plus loin, en tout cas pour le moment. 😣

  7. #7
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    On m'a aidé sur un autre forum, ce n'était pas si compliqué, et ca marche de fou!

    Merci encore pour l'aide apporté même si j'ai trouvé ce dont j'avais besoin ailleurs. 😉

    Au final, voici ce que donne mon code:

    Sub insererDateEtHeure()
    Range("C7").Value = Now
    End Sub
    Sub insererDateEtHeure2()
    Range("F10").Value = Now
    End Sub
    Sub Machine_a_reve_1()
    If Range("I5") = 7 Then
    MsgBox "Maximum de 7 atteint!"
    Else
    Range("I5").Value = Range("I5") + 1
    End If
    End Sub
    Sub Reset_a_0()
    Range("I5").Value = 0
    End Sub
    Sub Compteur_Coffre()
    If Range("I10") = 34 Then
    MsgBox "Pity de Matrice à 34 Coffres normalement atteinte!"
    Else
    Range("I10").Value = Range("I10") + 1
    End If
    End Sub
    Sub Reset_a_0_2()
    Range("I10").Value = 0
    End Sub

    J'ai changé certaines valeurs car j'ai décalé de 2 lignes
    et rajouté un autre compteur, celui de Coffre avant la pity.

    Vous pouvez fermer le topic si nécessaire 😉

Discussions similaires

  1. Passer une valeur dans la cellule d'un DataGridView
    Par DieInPain62 dans le forum VB.NET
    Réponses: 3
    Dernier message: 21/08/2014, 09h12
  2. Réponses: 2
    Dernier message: 23/03/2014, 13h05
  3. inserer les valeurs dans des cellules d une feuille EXCEL
    Par id301077 dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 26/07/2011, 10h34
  4. [XL-2003] Probleme pour mettre une valeur dans la cellule voulue
    Par tools dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/06/2011, 16h46
  5. Copier une valeur dans la cellule au-dessus si vide
    Par ThSPB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2011, 15h52

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