PROGRAMME ENTREPRISE BASE DE DONNÉE VBA SOUS EXCEL

cs_dhardy Messages postés 45 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 24 février 2009 - 27 janv. 2006 à 08:47
besion Messages postés 4 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juin 2008 - 9 déc. 2007 à 14:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35762-programme-entreprise-base-de-donnee-vba-sous-excel

besion Messages postés 4 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 juin 2008
9 déc. 2007 à 14:31
bonjour tous,j'ai besoin d'aide,j'ai à faire une base de donnée simple qui contient nom,prenom,ville et rue.
j'ai réalisé toute les procédure mais la procedure "effacer"
n'éfface pas l'enregistrement.voila la procedure:
Private Sub mEffacer_Click()
' le premier enregistrement ne doit pas étre suprimé
If Data1.Recordset.RecordCount > 1 Then
t$ = " suprimer l'enregistrement "
M$ = " voulez-vous vraiment suprimer cet enregistrement ?"
If MsgBox(M$, vbQuestion + vbYesNo, t$) = vbYes Then
'supprimer enregistrement
Data1.Recordset.Delete
Data1.Recordset.MoveNext
End If
Else
Data1.Recordset.Edit
Text1 "": Text2 "": Text3 = "":
Text4 "": Text5 "":
Data1.Recordset.Update
End If
End Sub
maestro1303 Messages postés 37 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 décembre 2019
22 juil. 2006 à 15:50
Bonjour à tous est ce que quelqu'un connait une façon d'empêcher un code plus de 15 jours (par exemple).
C'est à dire d'avoir dans une macro ou une fonction une portion de code testée à chaque fois et qui permettent de :
s'executer pour un temps précis et pas au delà
Ou mieux encore :
Faire incrémenter un compteur(palcé où???) et qui permet à un code de s'exécuter seulement un certain nombre de fois.

Merci
cs_sitemo Messages postés 341 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 29 juin 2011 1
27 janv. 2006 à 14:30
salut ca m'interesse et sio quelquu un a fait des changement qui'il le dise merci
MK
cs_freddiem Messages postés 3 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006
27 janv. 2006 à 14:13
Pour le problème d'orientation il suffit de changer l'orientation de l'imprimante par défaut avant l'instruction printform, avec juste cette instruction :

Printer.Orientation = vbPRORLandscape

l'objet printer correspond à l'imprimante par défaut.

Si vous souhaitez faire des modifications sur une autre imprimante, on peut utiliser la collection printers...

Dim X As Printer
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
' Définit l'imprimante comme imprimante par
' défaut du système.
Set Printer = X
' Cesse la recherche d'imprimante.
Exit For
End If
Next

Pour plus d'info n'hésitez pas utiliser l'aide sur l'objet printer...
cs_drissou Messages postés 160 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 14 janvier 2009
27 janv. 2006 à 12:18
je ne trouve pas la feuille menu.frm
cs_freddiem Messages postés 3 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006
27 janv. 2006 à 11:45
Encore un petit détail, pour utiliser le code que je viens de poster, il faut d'abord avoir ajouté la référence Microsoft Excel 8.0 Object library (8.0 ou plus d'ailleurs) au projet.
cs_freddiem Messages postés 3 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 27 janvier 2006
27 janv. 2006 à 11:39
Pour la suppression sous Excel, c'est malheureusement impossible (enfin tout du moins je n'ai jamais réussi à le faire) à l'aide d'une instruction SQL ou avec le contrôle data. Pour contourner cette limite, on peut faire une suppression logique, c'est à dire ajouter un champ booléen à la table, qui va nous dire si la ligne est supprimée ou non, et après juste sélectionner les lignes ou le champ est à non. Sinon, on peut ouvrir directement le fichier Excel dans VB et supprimer la fiche en supprimant directement la ligne dans le fichier. Exemple :

Dim xl As New Excel.Application
Dim wo As Workbook
Dim sh As Worksheet
Set wo = xl.Workbooks.Open("C:\données\formation\formation.xls", False)
Set sh = wo.Sheets("formaform")
For nb = 2 To nblignes(sh)
If sh.Cells(nb, 1) listform.TextMatrix(listform.Row, 1) And sh.Cells(nb,2) idformaencours then
sh.Rows(nb).Delete
End If
Next
wo.Close True
xl.Quit
cs_dhardy Messages postés 45 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 24 février 2009
27 janv. 2006 à 08:47
Bien, je cherchais justement ce type de programme.
Rejoignez-nous