Comme pas mal de personnes, j'ai souvent cherché des bouts de code pour faire les programmes en vba.
Donc je souhaite mettre à disposition ces bouts de code pour les débutants comme moi.
Je pense que ceci va grandement aider, enfin je crois.
Allez je me lance :
Calcul les totaux de toutes les feuilles sur la feuille « Decompte »
Code :
- Sub Totaux()
- Dim i, PrixHT, x
- PrixHT = 0
- x represente les cellules D21 a additionner des differentes feuilles
- For x = 21 To 32
- For i = 3 To Worksheets.Count
- If Sheets(i).Range("D" & x).Value = "" Then
- Sheets(i).Range("D" & x).Value = 0
- Else
- PrixHT = PrixHT + Sheets(i).Range("D" & x).Value
- End If
- Next i
- Sheets("Decompte" ).Activate
- Range("F" & x + 3).Value = PrixHT
- PrixHT = 0
- Next x
- End Sub
|
Vide les TextBox et décoche les Checkbox de leur contenu
Code :
- ' Vide le contenu des Textbox et Checkbox du formulaire
- Sub ViderTextbox()
- For Each Ctrl In UserForm1.Controls
- If TypeOf Ctrl Is MSForms.TextBox Then
- Ctrl.Value = ""
- End If
- Next Ctrl
-
- For Each Ctrl In UserForm1.Controls
- If TypeOf Ctrl Is MSForms.CheckBox Then
- Ctrl.Value = ""
- End If
- Next Ctrl
- End Sub
|
Ce code permet dafficher des valeurs dans une listbox
Code :
- Sub ListSociete()
- 'liste les differentes sociétés dans la listbox
- With UserForm1.ListBoxSociete
- .AddItem "SARL 1"
- .AddItem "SARL 2"
- .AddItem "SARL 3
- .AddItem "SARL 4"
- .AddItem "SARL 5"
- .AddItem "SARL 6"
- .AddItem "SARL 7"
- .AddItem "SCI 8"
- .AddItem "SCI 9"
- End With
- End Sub
|
Met la date daujourdhui formatée dans TextBox
Code :
- UserForm1.TextBoxDate.Value = Format(Now(), "dd/mm/yy" )
|
Met une couleur à une feuille en fonction dune checkbox
Code :
- Sub CouleurOnglet()
- Onglet = ActiveSheet.Name
- If CheckBox1 = False Then
- ActiveWorkbook.Sheets(Onglet).Tab.ColorIndex = 3
- Else
- ActiveWorkbook.Sheets(Onglet).Tab.ColorIndex = 4
- End If
- End Sub
|
Recupere les valeurs et les dates des cellules de plusieurs feuilles pour les mettre dans une feuille
Code :
- Sub Acompte()
- Dim i, Acompt, x, y, Dt
- x = 1
- y = 44
- For i = 3 To Worksheets.Count
- Acompt = 0
- Acompt = Sheets("Situation N°" & x).Range("D40" ).Value
- Dt = Sheets("Situation N°" & x).Range("C14" ).Value
- Sheets("Decompte" ).Activate
- Range("A" & y).Value = Acompt
- Range("B" & y).Value = Dt
- x = x + 1
- y = y + 1
- Next i
- End Sub
|
Additionner les valeurs de plusieurs TextBox dans une dernière
Code :
- Sub TotalAcompte()
- With UserForm1
- Dim i As Integer
- MontantTotal = 0
- For i = 1 To 7
- MontantTotal = (MontantTotal + .Controls("TextBoxMontant" & i).Value)
- Next i
- .TextBoxMontantTotal.Value = MontantTotal
- End With
- End Sub
|
Fait la somme des cellules qui ne sont pas en gras
Code :
- Dim i
- total = 0
- For i = 15 To 30
- If Range("I" & i).Font.Bold = False Then
- total = total + Range("I" & i).Value
- Else
- End If
- Next i
- Range("J32" ).Value = total
|
Choisir une image et la mettre dans un ctrl image et bloquer le bouton
Code :
- With Application.FileDialog(msoFileDialogFilePicker)
- .AllowMultiSelect = False 'Un seul Fichier possible
- .InitialFileName = "C:\Temp\test\" 'Répertoire d'ouverture de la fenetre
- .Filters.Clear 'Annuler les filtres au cas où
- .Filters.Add Description:="Images", Extensions:="*.jpg", Position:=1
- .Title = "Choix de l'image"
- 'verification au cas ou click sur annul dans la boite + lance la boite
- If .Show = -1 Then TheFile = .SelectedItems(1) Else TheFile = 0
- End With
- 'signaler à la personne qu'aucun fichier n'est choisi
- If TheFile = 0 Then
- MsgBox ("aucun fichier image choisi" )
- 'Afficher l'image dans le userform
- Else
- UserForm1.Image1.Picture = LoadPicture(TheFile)
- ActiveWindow.Selection.SlideRange.Shapes.AddPicture _
- (FileName:=TheFile _
- , LinkToFile:=msoFalse, SaveWithDocument:=msoTrue _
- , Left:=19, Top:=20, Width:=200, Height:=112.5).Select
- UserForm1.CommandButton1.Locked = True
- End If
|
Message édité par sakuraba le 19-01-2006 à 14:02:59
---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/