A voir également:
- Modifier le code d'un bouton de commande VBA
- Code ascii - Guide
- Invite de commande - Guide
- Modifier dns - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Modifier liste déroulante excel - Guide
6 réponses
Bonjour,
Tu trouveras ici : https://www.excel-downloads.com/resources/categories/utilitaires.18/
un fichier Excel de mon cru [ VizioXLA ] qui te fourniras
des exemples pour manipuler du code VBA.
Je ne prétends pas que celui-ci soit de haut niveau, mais
il fournit quand même des exemples pour manipuler plusieurs
objets faisant partie d'Excel.
Cdt
Lupin
Tu trouveras ici : https://www.excel-downloads.com/resources/categories/utilitaires.18/
un fichier Excel de mon cru [ VizioXLA ] qui te fourniras
des exemples pour manipuler du code VBA.
Je ne prétends pas que celui-ci soit de haut niveau, mais
il fournit quand même des exemples pour manipuler plusieurs
objets faisant partie d'Excel.
Cdt
Lupin
Timelinker
Dsl mais je crains que ton code ne puisse pas m'aider bcp :S
re:
Voici l'exemple du bouquin dont je me suis inspiré :
Il parait plus simple que ça ne l'ai :-)
n.b. Il faut ajouter la référence : [ Microsoft Visual Basic x.y Extensibility ]
Cdt
Lupin
Voici l'exemple du bouquin dont je me suis inspiré :
Sub AddSheetAndButton() Dim NewSheet As Worksheet Dim NewButton As OLEObject ' Add the sheet Set NewSheet = Sheets.Add ' Add a CommandButton Set NewButton = NewSheet.OLEObjects.Add _ ("Forms.CommandButton.1") With NewButton .Left = 4 .Top = 4 .Width = 100 .Height = 24 .Object.Caption = "Return to Sheet1" End With ' Add the event handler code Code = "Sub CommandButton1_Click()" & vbCrLf Code = Code & " On Error Resume Next" & vbCrLf Code = Code & " Sheets(""Sheet1"").Activate" & vbCrLf Code = Code & " If Err <> 0 Then" & vbCrLf Code = Code & " MsgBox ""Cannot activate Sheet1.""" & vbCrLf Code = Code & " End If" & vbCrLf Code = Code & "End Sub" With ThisWorkbook.VBProject. _ VBComponents(NewSheet.Name).CodeModule NextLine = .CountOfLines + 1 .InsertLines NextLine, Code End With End Sub '
Il parait plus simple que ça ne l'ai :-)
n.b. Il faut ajouter la référence : [ Microsoft Visual Basic x.y Extensibility ]
Cdt
Lupin
re:
J'oublias, peut-être que ce site pourrais t'aider aussi :
http://www.cpearson.com/excel/vbe.aspx
Cdt
Lupin
J'oublias, peut-être que ce site pourrais t'aider aussi :
http://www.cpearson.com/excel/vbe.aspx
Cdt
Lupin
Merci Lupin !
J'ai bien suivi ton exemple mais j'ai toujours l'erreur 1004 qui s'affiche, on dirait qu'il ne connait pas VBproject. Est ce que ce serait dû au besoin d'ajouter cette référence [ Microsoft Visual Basic x.y Extensibility ] ??? Je ne sais pas ce que c'est, mais si c'est qqchose à installer, ça risque d'être compliqué, c'est mon ordi de travail et je n'ai pas les droits d'admin.
Au cas où c'est pas ça l'erreur, voici mon code, peut être tu trouveras ce qui cloche :
Tout va bien jusqu'au With où ça bug !
En tout cas merci beaucoup pour ton aide!
J'ai bien suivi ton exemple mais j'ai toujours l'erreur 1004 qui s'affiche, on dirait qu'il ne connait pas VBproject. Est ce que ce serait dû au besoin d'ajouter cette référence [ Microsoft Visual Basic x.y Extensibility ] ??? Je ne sais pas ce que c'est, mais si c'est qqchose à installer, ça risque d'être compliqué, c'est mon ordi de travail et je n'ai pas les droits d'admin.
Au cas où c'est pas ça l'erreur, voici mon code, peut être tu trouveras ce qui cloche :
Private Sub CommandButton9_Click() Dim nom As String Dim Code As String ligne = InputBox("On which line did you add the new supplier ?", "Add supplier") ActiveSheet.Shapes("CommandButton1").Select Selection.Copy Cells(ligne, 4).Select ActiveSheet.Paste nom = Selection.Name Code = " Sub " + nom + "_Click()" & vbCrLf & vbCrLf & _ nom + ".TopLeftCell.Select" & vbCrLf & vbCrLf & _ "Call Codefct" & vbCrLf With ThisWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule NextLine = .CountOfLines + 1 .InsertLines NextLine, Code End With End Sub
Tout va bien jusqu'au With où ça bug !
En tout cas merci beaucoup pour ton aide!
Ah ok, c'est effectivement bien un problème de référence. J'ai essayé de changer ça, mais quand je vais dans Outils/Référence, j'ai un message "Erreur d'accès à la base de registration".
C'est grave docteur?
Je crois que c'est foutu pour ajouter des lignes de code automatiquement :S
C'est grave docteur?
Je crois que c'est foutu pour ajouter des lignes de code automatiquement :S
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re:
Effectivement, c'est du à la référence.
Sans la référence, tu peux essayer le code sans avoir
l'instruction [ Option Explicit ] en début de code.
En théorie, cela devrait fonctionner.
Cdt
Lupin
Effectivement, c'est du à la référence.
Sans la référence, tu peux essayer le code sans avoir
l'instruction [ Option Explicit ] en début de code.
En théorie, cela devrait fonctionner.
Cdt
Lupin