Modifier le contenue d'onglets avec une macro

Bonjour,

Je suis débutante en VBA et je n'arrive a trouver aucune réponse a ma question sur internet.

Mon problème : J'ai plusieurs onglets avec des tableaux et un onglet ou selon les informations rentrées par l'utilisateur je modifierais les autres onglets avec un macro (en remplissant des cellules d'un des onglets par exemple).

Le problème : Je ne sait absolument pas si cela est possible, et comment faire. Je sait comment trouver le nom d'un onglet ou quelque chose comme ça, mais je ne sait pas comment par exemple modifier une cellule précise d'un onglet précis a l’intérieur d'une macro (et non en passant en paramètre de la macro cette cellule)

Je ne sais pas si c'est très clair, mais merci par avance pour votre aide !

Bonjour, pour ma part c'est pas très clair mais peut-être qu'un fichier avec un exemple du résultat escompté nous/vous aidera !

Je rajoute un fichier pour mieux m'expliquer :

Dans mon fichier il y a deux onglet représentant deux salle avec leur emploie du temps (vide pour l'instant) et un onglet ou l'utilisateur doit rentrer un nombre d'heure.

Comment faire une macro qui prend en paramètre le nombre d'heure (ça je sais faire) et qui modifie l'emploie du temps de mon onglet ou il y a de la disponibilité ? Ce que je ne sait pas faire c'est dans la macro, détecter les cellule d'un onglet précis (par exemple ici les cellules correspondant aux heures) et les modifier dans la macro pour remplir mon emploie du temps automatiquement.

12exemple.xlsx (10.88 Ko)

J'pige que dalle ! Mais ce n'est pas forcément de votre faute...Dans le classeur que vous avez fait, pouvez vous mettre un exemple de ce que vous voulez ? Parce que je ne sais pas si la salle 2 doit modifier la salle 1 ou si la saisie en salle 2 ne doit se faire que si c'est un trou qu'il y a dans la salle 1...Quand on est exterieur au projet c'est difficile de tout comprendre du premier coup

Haha c'est un peu compliqué pour moi pardon.

Donc voila le fichier modifié, on va dire que l'utilisateur a rentré son nombre d'heure par semaine (30) et a ensuite appuyé sur le bouton pour faire appel a la macro. Etant donne qu'il y avait de la place dans le planning de la salle 1, la macro a "remplie" 30h de travail dans la salle 1. Si la salle 1 n’avait pas été disponible pour 30h de travail la macro aurait remplie la salle 2.

J’espère que c'est plus clair, ce que je ne sait pas faire c'est dans ma macro, sélectionner les cellules d'une salle et les modifier.

21exemple.xlsx (13.42 Ko)

Ah là je comprends mieux...sous peu soit moi soit un autre helpeur on vous proposera une solution

voilà un premier jet (vous allez sur votre feuille planning et vous cliquez sur "Générer le planning".

Pour le test j'ai pris des valeurs aléatoire (ludivine et stéphanie) pour occuper les cases

Cela vous convient il ?

J'ai pas tout suivi, mais en admettant que la week 1 ne soit pas disponible, c'est en week 2 que le planning se ferait.

Le problème c'est que l'utilisateur ne sera pas forcément averti et que la disponibilité ne sera pas possible non plus pour lui à son tour.

Le mieux serait une macro qui permettrai que selon le temps choisi, en cas de non disponibilité, l'utilisateur en soit informé et qu'il puisse choisir une autre semaine, enfin onglet.

Enfin je pense que se serait le mieux. Enfin si j'ai vraiment tout compris au fonctionnement de ton classeur

Salutation nunos31, ici il ne s'agit pas de week mais de salle...Dans l'immédiat la zone d'ombre à éclaircir c'est si la salle ne permet pas de travailler 30h mais que 22 heure que faire...Transferer les 30h sur la salle 2 ou combler la salle 1 puis la salle2...

Popi nous diras tout ça !

Bonjour,

Merci pour vos réponses rapides En fait nunos31 mon problème est un peu plus complexe que ça, avec plus de salles et plus de disponibilités dans chaque salle, je vais essayer de me débrouiller pour trouver des solutions !

Mais Force rouge a répondu a ma question principale, il faut donc pour sélectionner un onglet et modifier ces cellules "l'activer" grâce a la méthode Activate c'est bien ça ?

J'aurais voulu savoir pour finir si il est possible lorsque l'on appuie sur le bouton d'appeler une macro avec des paramètres ? Par exemple planning(nombre d'heure) au lieu de planning().

Pour travailler sur un onglet il y a plusieurs possibilité

il y a le .activate sinon il y a with ou peut-être encore d'autres que je ne connais pas.

Pour la dernière question

J'aurais voulu savoir pour finir si il est possible lorsque l'on appuie sur le bouton d'appeler une macro avec des paramètres ? Par exemple planning(nombre d'heure) au lieu de planning().

Je comprends pas trop ce que vous voulez dire car planning(nombre d'heure) ca ressemble plus à une fonction personnalisée qu'à une macro de routine..

Oui je ne m'y connais pas trop je pensais qu'il n'y avait pas de difference

différence ou nuance je ne sais pas trop..

Ben pour ton cas il faut mettre en place une base de donnée sur un onglet dédié. Tu fais appel à un userform et tu pourras gérer ta base et tes paramètre à partir de la. C'est plus simple et plus convivial d'utilisation.

Dit moi ce que tu veux faire je regarde comment y répondre

Rechercher des sujets similaires à "modifier contenue onglets macro"