Code VBA avec des cellules sur pages différentes

Bonjour à tous,

Bonne année ! Je suis actuellement entrain de créer un ficher excel avec des VBA pour gérer une base de donnée

Je bloque sur plusieurs code VBA.

Le premier :

J'ai crée un userform (feuille2) et je veux que quand je valide, si dans la textbox2 "Art et mode" est inscrit alors une ligne se créée automatiquement ligne 22 et que les information contenue dans les autres textbox s'affiche sur cette ligne.

J'ai Row(11).creat mais ça ne marche pas.

Le deuxième :

J'ai crée un bouton sur la feuille6 il se nomme bouton 3 je souhaite que lorsque l'on clique dessus un message box s'affiche.

le message doit dépendre de la valeur présente dans la cellule C1 de cette même page.

Ainsi je souhaiter exprimer la phrase suivante :

Si la cellule C1 de la feuille 6 à la même valeur que la cellule K de la feuille alors afficher un message box

Cependant quand j'essaye worsheet()cell( , ) = worksheet()cell( , ) ca ne marche pas

Pouvez vous m'aider ?

Je vous joins mon ficher excel ça sera peut-être plus simple pour vous

Je vous remercie d'avance

Atchoum49

Salut Atchoum49 et bienvenue sur le Forum,

J'ai tenté de répondre à tes deux attentes dans le fichier ci-joint.

atchoum49 a écrit :

Ainsi je souhaiter exprimer la phrase suivante :

Si la cellule C1 de la feuille 6 à la même valeur que la cellule K de la feuille alors afficher un message box

Ta demande est assez imprécise. Je t'ai montré un exemple par rapport à la cellule K1 de la feuille 6.
atchoum49 a écrit :

je veux que quand je valide, si dans la textbox2 "Art et mode" est inscrit alors une ligne se créée automatiquement ligne 22

Là aussi je ne savais pas trop ce que tu voulais dire. J'ai donc placé des titres sur la ligne 22 et les nouvelles lignes créées le sont à la suite. Le code est sensible à la casse ; il ne réagit donc que si tu écris exactement "Art et mode".

En règle générale essaie d'utiliser le conditionnel au lieu du présent : "Je voudrais, je désirerais, je souhaiterais" ressemble moins à des ordres que "Je veux". J’espère aussi que tu ne sois pas prof de français

Cordialement.

Je ne sais que vous dire mise à part un grand MERCI !

Je pense que comme vous avez pu le constater le français mais surtout le VBA et moi, ça fait deux.

Est ce que vous pouvez m'expliquer votre code, j'aimerais comprendre pour pouvoir le refaire la prochaine fois. De plus j'aimerais (si possible) que les données que je note dans le userform2 (ajouter un étudiant) s'affichent sur la feuille 1 dans le code ou dois je faire faire les modifications ?

C'est ce code là que je ne comprends pas ...

DerLig = Range("A1048576").End(xlUp).Row + 1

Sinon merci beaucoup ! C'est vraiment très gentil de m'avoir aidé je ne sais comment vous remercier !

Cordialement

Buchou Marie (vous constaterez le "j'aimerais " )

atchoum49 a écrit :

vous constaterez le "j'aimerais " )

Merci beaucoup

Range("A1048576").End(xlUp).Row + 1 permet de remonter la colonne A depuis la dernière cellule de la feuille et de trouver la dernière ligne (Row) utilisée pour cette colonne. Si tu y ajoute + 1, tu obtiens le numéro de la première ligne vide afin d’y placer les nouvelles données. "DerLig" est simplement le nom que j’ai donné à ma variable (j’aurais pu écrire n’importe quoi à la place, par exemple Dernière_ligne), variable à laquelle j’affecte le numéro de la première ligne vide et que je peux ensuite utiliser afin d’écrire les données sur la bonne ligne (si ma variable DerLig a reçu le numéro 23, Range("A" & DerLig) correspond à Range("A23").

Sur ta feuille 1, j’ai supprimé ta colonne J (nombre d’élève) et ai remplacé le comptage du nombre d’élèves par branches par des formules dans la colonne K. Mais cette formule implique que tu écrives tes noms avec une grande rigueur (orthographe exacte, pas d’espace avant et après, ce qui est souvent le cas chez toi, j’ai dû effectuer beaucoup de corrections dans la colonne C).

Dans ton UserForm2, j’ai modifié l’ordre de tabulation. Avant tu avais l’ordre Nom – Formation – Prénom – etc., maintenant tu as Nom – Prénom – Formation, etc.

Tel que demandé, les données de ce UserForm2 sont maintenant reportées sur la feuille 1. Comme je n’ai pas compris comment tu tries cette feuille, je n’ai pas ajouté de tri à la fin du code, mais ça peut encore être fait (ainsi que la mise en page, par exemple les bordures).

Je ne comprends toujours pas pourquoi il faut reporter les données du UserForm2 uniquement si sous « Formation » il est indiqué «Art et mode » et rien d’autre, mais bon, c’est toi la cheffe.

Cordialement.

C'est pour que ma base de donnée soit automatiquement triée par les formations suivies ... Je ne sais pas si c'est important c'est mon professeur qui a beaucoup insisté sur ça ... Je vous avoue n'avoir pas tout compris à ces explications ce qui explique mon niveau de détresse à présent.

Merci beaucoup en tout cas, vous m'avez énormément aidé et j'ai compris (ce qui est je pense le plus important)

Je vous souhaite une très bonne fin de journée

Cordialement

Buchou Marie

Rechercher des sujets similaires à "code vba pages differentes"