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
Retour liens Excel

 


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

Retour liens Excel

 


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.......
Retour liens Excel

 


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

Retour liens Excel

 


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

Retour liens Excel

 


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%

 

Retour liens Excel

 


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.
Retour liens Excel

 


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")

 

Retour liens Excel

 


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"

 

Retour liens Excel

 


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

Retour liens Excel

 


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

Retour liens Excel