Diverses petites astuces
Une macro pour calculer automatiquement en quittant la cellule
Permet de faire des opérations de toute sorte.
Exemple avec la TVA à 18,6%
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Cell As Range
If Intersect(Target, Range("A1:B10")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Application.ScreenUpdating = False
On Error Resume Next
For Each Cell In Target
If Cell.Value = "" Then
Application.EnableEvents = True
Exit Sub
End If
Cell = Cell * 1.186
Next Cell
Application.EnableEvents = True
End Sub
![]()
Par une macro, faire un retour à la ligne par la touche Entrée
Avec la touche Entrée ,sélectionner
la cellule et retour à la ligne. Par exemple à la cellule F
ou 6 sur la ligne
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column > 6Then ActiveCell.Offset(1, -6).Select
End Sub
Macro pour
changer les fonctions des touche du clavier
Voir tout simplement le principe d'une macro.
La macro doit être lancée après avoir sélectionné une partie ou toutes les cellules
de la feuille à utiliser.
Pour exemple de ,(virgule) remplacer par
.(point) il suffit d'écrire : Cells.Replace Quoi:=",",
RemplacerPar:="."
Exemple de macro:
Sub RempCar()
Cells.Replace Quoi:="", RemplacerPar:=""
Cells.Replace Quoi:=",", RemplacerPar:="é"
Cells.Replace Quoi:=".", RemplacerPar:="à"
Cells.Replace Quoi:="f", RemplacerPar:="â"
Cells.Replace Quoi:=""", RemplacerPar:="ô"
Cells.Replace Quoi:="S", RemplacerPar:="è"
Cells.Replace Quoi:="-", RemplacerPar:="û"
Cells.Replace Quoi:="O", RemplacerPar:="î"
Cells.Replace Quoi:="ü", RemplacerPar:="³"
Cells.Replace Quoi:="^", RemplacerPar:="ê"
Cells.Replace Quoi:="", RemplacerPar:="ü"
End Sub
Extera.......
![]()
Imprimer
sur chaque document le nom du fichier que j'ai créé ainsi que le chemin complet
Soit on peut écrire dans une cellule la fonction
suivante:
=CELLULE(nomfichier)
ou le répertoire
=info("repertoire")
qui te donne le chemin complet de ton fichier. Attention, il faut que ton fichier
soit déjà enregistré.
Ou une macro à écrire.
Clic droit sur l'onglet, puis Visualiser le code, et double clic sur This workbook,
et copier le code.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.RightFooter = ActiveWorkbook.FullName
End Sub
Faire une action dans une cellule par double clic
Une macro pour faire une action par exemple, écrire un
X si la cellule est remplie, et écrie un X
si la cellule est vide, en double cliquant dans celle-ci.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,
Cancel As Boolean)
Select Case Target.Value
Case "X", "x"
Range(Target.Address).Value = ""
Case Else
Range(Target.Address).Value = "X"
End Select
End Sub
Trouver
le prix hors TVA dans une cellule
Par exemple dans la cellule A1 j'ai 250, la formule
est soit dans la cellule A1 ou A2
Dans Excell TTC=HT/(1-TVA) soit dans notre exemple: =A1/1,196
pour une TVA a 19,6%
Formule
pour trouver des cellules vide et écrire dans une cellule
Dans
l'exemple 1 les cellules A1,B1,C1 sont vide, dans
D1 la formule est : =si(somme(a1:c1)=0;"Pas de
ventes";somme(a1:c1)). à écrire sur une seule ligne.
Exemple 2, les cellules A2,C2 contiennent un chiffre
et B2 est vide la formule est:
=SI(OU(A1=0;B1=0;C1=0);"Pas de ventes";SOMME(A1:C1))
Les formules ne fonctionnent que pour des chiffres.
![]()
Ajouter
à une date, 5 années en prenant en compte le nombre exact de jours de l'année
La formule est. Exemple : la date est dans la cellule A1, mettre dans la cellule
A2 =DATE(ANNEE(A1)+5;MOIS(A1);JOUR(A1))
Pour avoir le nombre de jour entre deux date, mettre dans la cellule A3
=DATEDIF(A1;A2;"d")
comment
faire pour copier les résultat affichés sur une ligne et les retranscrire sur
une colonne
Il faut sélectionner les cellules concernées faire edition
copier puis dans une cellule vierge faire edition collage
special et cocher l'option "TRANSPOSE"
Macro évènementielle
pour déclencher une procédure.
Pour cela il faut aller dans l'éditeur VBA (click droit sur
l'onglet et visualiser le code) puis coller ceci dans le module de la
feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
écrire la macro ou la procédure
End Sub
A chaque fois que tu cliqueras à droite dans la feuille,
la procédure s'exécutera.
Tu peux limiter à quelques cellules l'activation de cette procédure en mettant
par exemple:
if activecell.address=range("Aa1").address then
écrire la macro ou la procédure
end if
Ainsi, la procédure s'exécutera uniquement si tu es dans la cellule A1
Empecher
qu'une formule dans une cellule ne soit modifiée
Je me suis apercu que si l'on effacait (malencontreusement) les données d'une
cellule, cela effacait aussi la formule qui s'y trouve.
D'abord, pour les cellules qui doivent être modifiées, tu fais clic-droit
-format de cellule protection et tu décoches Vérrouillé
. Puis, dans Le menu Outils Protection tu protèges la
feuille (sans mot de passe )
En complément , autre solution qui permet de ne protéger que les formules de
ta feuille de calcul :
Ctrl + A Clic-droit sur la zone en surbrillance
Format de cellule / Protection / décocher Verrouillée
Ctrl + T Cellules / Formules / Ok Clic-droit sur la
zone en surbrillance Format de cellule / Protection
/ cocher Verrouillée Outils / Protection