Articles

Examen de Vibrations 27/12/2022 - Exercice 1

Image
  Exercice sur l'utilisation d'un isolateur. On donne une machine qui transmet une force importante au sol qu'on voudrait limiter à 10 KN à cause d'un balourd qui tourne à une certaine vitesse. On démontre qu'avec un seul isolateur, le problème ne pas être résolu. Avec deux isolateurs en série la force transmise est limite. La société ne disposant que d'un seul isolateur, la solution serait d'augmenter la masse totale. On calcule la masse à ajouter pour que la force transmise soit acceptable.

Manipulation des classeurs et des feuilles en VBA

Image
  Dans cette vidéo on traite la manipulation des classeurs et des feuilles par code. On voit notamment : comment ajouter un nouveau classeur à la collection Workbooks Récupérer le nom du classeur Balayer les feuilles d'un classeur en utilisant la collections Worksheets La différence entre les objets ThisWorkbook et ActiveWorkbook Comment ajouter une feuille en précisant sa position par rapport à une feuille Ajouter une feuille de type graphique La différence entres les collections Worksheets, Sheets et Charts Comment sauvegarder un classeur Codes Sources: Option Explicit Sub test() Dim f As Worksheet Debug.Print "Nom application " & Application.Name Debug.Print "Nom du classeur " & Application.ThisWorkbook.Name Debug.Print "Application installée en " & Application.Path Debug.Print "Nom du classeur " & Application.Workbooks(1).Name Debug.Print "Liste des " & Worksheets.Count & " feuilles du classeur &qu

Gestion des Tableaux en VBA

Image
Les éléments vues dans cette vidéo sont: Option Base, Array, UBound, LBound, ReDim et Preserve. Code Source: Option Explicit Option Base 1 Sub test() Dim Trimestre(4) As String, i As Integer For i = 1 To 4     Trimestre(i) = "Trim " & i Next For i = 1 To 4     Debug.Print i & " " & Trimestre(i) Next End Sub Sub test1() Dim Trimestre(4) As String, i As Integer For i = LBound(Trimestre) To UBound(Trimestre)     Trimestre(i) = "Trim " & i Next For i = LBound(Trimestre) To UBound(Trimestre)     Debug.Print i & " " & Trimestre(i) Next End Sub Sub test2() Dim Trimestre() As Variant, i As Integer Trimestre = Array("Trim 1", "Trim 2", "Trim 3", "Trim 4") For i = LBound(Trimestre) To UBound(Trimestre)     Debug.Print i & " " & Trimestre(i) Next End Sub Sub test3() Dim Trimestre() As Variant, i As Integer Trimestre = Array("Trim 1", "Trim 2", "Trim 3&

Modules dans Excel VBA

Image
Le module est un conteneur qui peut regrouper plusieurs procédures et fonctions pouvant être appelées depuis toute procédure du projet.

Changer la langue de l'interface de Microsoft Excel

Image
Envi de suivre un tutoriel en anglais et vous disposez d'une version d'Excel en Français, pas de panique. Changer l'interface en toute langue est possible sans devoir tout réinstaller.

Quelques fonctions de manipulation de chaines de caractères

Image
Les fonctions traitées sont: String, Split, Mid, InStr, Len, Left, Right, UCase, LCase et Trim Code source: Option Explicit Sub test_split() Dim chemin As String, a As Variant, e As Variant chemin = ThisWorkbook.Path Debug.Print chemin Debug.Print String(100, "-") a = Split(chemin, "\") For Each e In a     Debug.Print e Next End Sub Sub test_split2() Dim chemin As String Dim i, ideb chemin = ThisWorkbook.Path Debug.Print chemin Debug.Print String(100, "-") i = 0 ideb = 0 Do     i = InStr(i + 1, chemin, "\")     Debug.Print Mid(chemin, ideb + 1, IIf(i = 0, Len(chemin), i - 1) - ideb)     ideb = i Loop Until i = 0 End Sub Sub test_leftright() Dim NC As String, nomfichier As String, ext As String NC = ThisWorkbook.Name nomfichier = Left(NC, InStr(NC, ".") - 1) ext = Right(NC, Len(NC) - InStr(NC, ".")) Debug.Print "Nom complet:" & NC & " Fichier:" & nomfichier & " ,extension:" & e

Branchements conditionnels en VBA

Image
Dans cette vidéo on montre l'utilisation des instructions suivantes: If Then End If If Then Else End If IIF If Then ElseIf Else End If Select Case end select Code source: Option Explicit Sub test1() Dim i As Integer i = WorksheetFunction.RandBetween(0, 100) If i Mod 2 = 0 Then Beep: Debug.Print i & " est paire" End Sub Sub test2() Dim i As Integer i = WorksheetFunction.RandBetween(0, 100) If i Mod 2 = 0 Then     Debug.Print i & " est paire" Else     Debug.Print i & " est impaire" End If End Sub Sub test3() Dim i As Integer i = WorksheetFunction.RandBetween(0, 100) Debug.Print i & " est " & IIf(i Mod 2 = 0, "paire", "impaire") End Sub Sub test4() Dim i As Integer i = WorksheetFunction.RandBetween(0, 100) Debug.Print i & " est " & IIf(i Mod 2 = 0, "", "im") & "paire" End Sub Sub test5() Dim i i = InputBox("Taper un nombre entre 0 et 100") If Is

Les boucles dans VBA

Image
Les différentes façons d'exprimer tant que condition répéter. Les 5 façons sont : While cond ... Wend Do ... while cond Loop Do ... Loop while cond Do until cond ... Loop Do ... Loop until cond Code source: Option Explicit Function f(x As Single) As Single 'f=3*x^3 + 3*x^2 - 9*x f = x ^ 3 + 3 * x ^ 2 - 9 * x End Function Function df(x As Single) As Single 'f'=9*x^2 + 6*x - 9 df = 3 * x ^ 2 + 6 * x - 9 End Function Function newton(x0 As Single) As Single Dim pre As Single Dim cond As Boolean pre = 0.001 cond = False If Abs(f(x0)) > pre Then     Do         'Do Until Not cond             'Do                 'Do While cond                     'While cond                         If df(x0) = 0 Then                             x0 = x0 + pre                         Else                             x0 = x0 - f(x0) / df(x0)                             cond = Not (IIf(Abs(f(x0)) < pre, False, True))                         End If                     'Wen

Utilisation des fonctions InputBox et msgBox en VBA

Image
Toutes les utilisations possibles des fonctions InputBox et msgBox pour interagir avec l'utilisateur. Code source Option Explicit Sub test1() Dim nom As String nom = InputBox("Donner votre nom") Debug.Print "nom tappé: " & nom End Sub Sub test2() Dim nom As String nom = InputBox("Donner votre nom", "EMI", "Mohamed") If nom = "" Then     MsgBox "Attention nom vide" Else     Debug.Print "nom tappé: " & nom End If End Sub Sub test3() Dim nom As String Dim reponse As Integer Dim cond As Boolean cond = True Do While cond     nom = InputBox("Donner votre nom", "EMI", "Mohamed")     If nom = "" Then         reponse = MsgBox("Attention nom vide, vous voulez réessayer?", _         vbYesNo + vbInformation + vbDefaultButton2 + vbMsgBoxHelpButton, "EMI") '        If reponse = vbYes Then '            cond = True '        Else '