Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vba je ne m'en sort pas

11 réponses
Avatar
plaisir-perso
Bonjour,

pour le plaisir et peut être dans un but pratique pour la suite de ma carrière j'ai créer un classeur asser complet avec pas mal de validation de formule et autre, l'inconvénient est que, je crois, etre arrivé au bout des ces possibilités. donc j'aurais voulu commencer avec le vba (quitte a tout recommencer) mais j'y connais rien j'ai essayé mais je suis bloqué dans ma tête avec le langage de formule donc ça ne fonctionne pas.
il y a 4 chose distinct que j'ai envie de faire
1: faire en sorte que les cellules déja remplie ne soit pas modifiable inconvénient j'ai déjà utilisé l'outil validation. donc il faut que j'utilise le vba sauf si qq'un serais compléter la formule que j'ai insérer:
=SI(A11<>"";SI(A11<=A12;A12;"");"")
2: mais j'ai d'autres cellules remplie d'une validation en menu déroulant que je voudrais aussi verrouillé si remplie. mais plus après réflexion avec un bouton a cocher (indécochable) que un fois cocher empêcherais la modif
3: dans une feuil j'ai des données par date parfois il est possible que j'en ai 2 ou plus identique (en fonction des donnés a rentrer) et j'aurais voulu que dans une autre feuil, excel me fasse 2 chose:
A: il me donne dans une cellule (dans la colonne A) les date mais 1 seul (donc pas de doublon pas de vide)
B: il me fasse la somme des donné correspondant a la date.
4: j'aurais souhaiter créer un bouton affin d'envoyer automatiquement le classeur a une adresse email avec un objet et celui ci serais : du (1ere date du classeur) au (dernière date encodées) donc référence a 2 cellules la première fixe la deuxième dirais la dernière cellule de la colonne remplie.

le tout j'aurais voulu que ça ce passe en temps réel(automatique des que des données sont encodées)

j'espère avoir été clair et que des personne sympa et compétente pour m'aider.
je suis ouvert a toutes proposition.
merci d'avance a vous pour votre attention et vos réponses

François

1 réponse

1 2
Avatar
LSteph
Bonjour Francois,

-petite parenthèse pour le suivi-
(
Contrairement à des forums sur site, où l'on défile par blocs vers le
bas, ici on a pour coutume de
poster la réponse au dessus du texte, cela évite de tout redéfiler.
De même si tu as différentes questions qui n'ont pas le même objectif
n'hésite pas à faire un post distinct.
Comme par exemple comment envoyer un classeur par mail par VBA
Cela permet aussi de retrouver un sujet déjà abordé en cherchant un
peu dans le forum
). -fin-

... tout a fait ce que je voulais sur l'apparence


Tu manifestais aussi me semble-t-il un intérêt pour le fonctionnement.
(j'espère que cela répond)
Et il me semble inclus que tu puisses maitriser ce que l'on te
propose.
Outre les formules dans les feuilles.
Je t'invites donc à regarder dans VBE alt+F11
Sur ta gauche s'affiche l'explorateur de projet avec ses objets:
Feuil1,Feuil2,Feuil3,Module1,Thisworkbook.

Tu peux les cliquer, au milieu s'affiche la fenêtre de code
correspondant,

tu verras que j'ai utilisé le mdp "toto" et dans thisworkbook et
comment j'ai squeezzé la protection de Feuil1
Dans module1 tu verras que je reprotège et déprotège néanmoins pour
l'extraction car cela bugue parfois
sur ce genre d'action au niveau du parametre userintefaceonly
pourtant prevu à l'ouverture dans Protect.

Donc si tu veux aussi protèger ta Feuil1 mais laisser libre la saisie.
Commence par déverrouiller les cellules qui sont en saisie
Format Cellule Protection Retire la coche à Verrouillée
- ensuite il conviendrait d'aller dans Outils Protection Protèger la
feuille
mais puisqu'on fait cette dernière étape - en automatique par le code
il te suffit d'en enlever la condition que j'ai posée et cela opèrera
à l'ouverture.
ici je mets un ' avant le if et un ' avant le end if ces deux lignes
deviennent un commentaire

''''''''''''''''''''''
Private Sub Workbook_Open()
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
'If sh.CodeName <> "Feuil1" Then
sh.Protect Password:="toto", UserInterfaceonly:=True
'End If
Next
End Sub
''''''''''''''''''''''''''''

Bien entendu le fonctionnement de tout cela suppose que les macros
soient activées à l'ouverture
(Il existe aussi des astuces pour contourner cet autre pb mais c'est
un autre sujet)
Vivement conseillé au passage : http://www.excelabo.net

Tu noteras également que l'accès au code est ouvert mais tu peux aussi
le protèger.


Dis moi si ces informations complémentaires te conviennent et
si tu as des interrogations sur la partie que j'ai essayé de traiter
reviens dans ce fil.
Et si tu as d'autres sujets n'hésites pas à chercher un peu d'abord et
le cas échéant les poser sur le forum.

Cordialement.

--
lSteph



>> - Afficher le texte des messages précédents -

bonjour,
très joli travail. tout a fait ce que je voulais sur l'apparence.
un grand merci.
j'ai peur d'abuser en demandant comment faire la suite.
1 l'envoi du fichier par mail, donc dans une cellule le nom de la personn e
concerné, l'adresse et l'objet du mail serais pre remplie une adresse
de mon choix et l'objet serais: du(la première date utilis é dans le
fichier) jusqu'au (dernière date utilisé dans le fichier).
2 j'ai malheureusement encore su modifier les donnés rentré dans la f euil
saisie. est ce que dans la pratique, vus que vous vous y connaissais bien , mon
idée de case a cocher pour les validée et verrouillée est bonne ou est ce que
vous me conseillez autre chose?

encore un tout grand merci pour ce travail. rapide efficace et correspond ant au
attente.

François- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


1 2