Darnel
XLDnaute Impliqué
Bonjour à tous
je pensais avoir résolu mon problème avec l'aide de Charly2 que je remercie à nouveau, mais j'ai la sensation bizare que si je parvien à regler ce probleme, un autre va encore me tomber sur le bout du nez !
je m'explique :
j'ai une feuille de saisie et une base de données.
je rempli la fiche de saisie, clic sur bouton 'valider' et ca enregistre tout dans une base de donnée (protégée grace a charly (cf file : Lien supprimé
)
avant tout etait opérationnel, mais j'ai tenter de mettre des bouton flottant (cf file : Lien supprimé )
Charly s'est rendu compte que sur excel 97 , les boutons commandes peuvent pose des problèmes si on ne fait pas une petite manip. en effet, les macro de protection de feuille ne passaient pas. ce problème réglé, je me rend compte maintenant que ma macro de validation passe plus non plus et s'arrete sur une ligne de code : voici tout le code, ne vous perdez pas car y a plusieurs feuilles et de lignes de code, normalement ca reste simple.
voici le code et ce qui déconne en jaune
je tiens à préciser que ce code est activé par un bouton Formulaire et non commande.
je pense que ca risque de continuer à me souler un moment.
si quelqu'un a une idée je suis preneur.
merci à vous tous pour tout ce que vous faites et pour l'interet que vous portez à tous nos petits problèmes
Message édité par: darnel, à: 16/03/2006 10:52
Arf j'arrive pas à le mettre en jaune
bon c'est une des lignes suivante :
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
de totue facon, vu que c'est une conditionnelle, je pense que ca bug pareil avec n'importe laquelle de ces lignes pastspecial.
merci
Message édité par: darnel, à: 16/03/2006 10:56
Message édité par: darnel, à: 16/03/2006 11:00
Message édité par: darnel, à: 16/03/2006 14:18
je pensais avoir résolu mon problème avec l'aide de Charly2 que je remercie à nouveau, mais j'ai la sensation bizare que si je parvien à regler ce probleme, un autre va encore me tomber sur le bout du nez !
je m'explique :
j'ai une feuille de saisie et une base de données.
je rempli la fiche de saisie, clic sur bouton 'valider' et ca enregistre tout dans une base de donnée (protégée grace a charly (cf file : Lien supprimé
)
avant tout etait opérationnel, mais j'ai tenter de mettre des bouton flottant (cf file : Lien supprimé )
Charly s'est rendu compte que sur excel 97 , les boutons commandes peuvent pose des problèmes si on ne fait pas une petite manip. en effet, les macro de protection de feuille ne passaient pas. ce problème réglé, je me rend compte maintenant que ma macro de validation passe plus non plus et s'arrete sur une ligne de code : voici tout le code, ne vous perdez pas car y a plusieurs feuilles et de lignes de code, normalement ca reste simple.
voici le code et ce qui déconne en jaune
Code:
Sub Valide_saisie()
' Valide_saisie Macro
'Contrôle des champs de saisie obligatoires
If IsEmpty(Range('B4')) Then
MsgBox 'Numéro de police manquant'
Exit Sub
End If
If IsEmpty(Range('E3')) Then
MsgBox 'ETAT MANQUANT'
Exit Sub
End If
If IsEmpty(Range('B5')) Then
MsgBox 'Nom client manquant'
Exit Sub
End If
If IsEmpty(Range('B7')) Then
MsgBox 'Nom courtier manquant'
Exit Sub
End If
If IsEmpty(Range('B9')) Then
MsgBox 'Type de Garantie manquant'
Exit Sub
End If
If IsEmpty(Range('B10')) Then
MsgBox 'Matériel assuré manquant'
Exit Sub
End If
If IsEmpty(Range('B27')) Then
MsgBox 'Prime TTC Pa025 manquante'
Exit Sub
End If
If Range('E20').Value = 'Date d'effet' Then
If IsEmpty(Range('F20')) Then
MsgBox 'Date d'effet manquante'
Exit Sub
End If
Else
If IsEmpty(Range('F20')) Then
MsgBox 'Date de début des travaux manquante'
Exit Sub
End If
End If
If Range('E21').Value = 'Date prévis°lle réception' Then
If IsEmpty(Range('F21')) Then
MsgBox 'Date prévisionnelle de reception des travaux manquante'
Exit Sub
End If
End If
If Range('A20').Value = 'Echéance' Then
If IsEmpty(Range('B20')) Then
MsgBox 'Echéance manquante'
Exit Sub
End If
End If
If IsEmpty(Range('B2')) Then
MsgBox 'Date de création manquante'
Exit Sub
End If
If IsEmpty(Range('B39')) Then
MsgBox 'Résumé Garanties manquant'
Exit Sub
End If
If Range('A21').Value = 'Préavis' Then
If IsEmpty(Range('B21')) Then
MsgBox 'Préavis manquant'
Exit Sub
End If
End If
'orientation base de données fonction Résils ou non
If Range('E3').Value = 'EN COURS' Then
'Enregistrement de la fiche dans la base (feuille Données)
Application.ScreenUpdating = False
'On copie les données qui viennent d'être saisies (feuille Stock)
'vers la feuille Données.
'L'enregistrement est ajouté à la fin de la feuille Données
Sheets('Données').Select
ActiveSheet.Unprotect
Sheets('Stock').Select
Range('A2:BU2').Select
Selection.Copy
Sheets('Données').Select
If Range('b3').Value = '' Then
Range('B2').Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
Else
Range('B2').Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
End If
Range('a1').Select
'On efface les éléments saisis dans la feuille Fiche saisie
clear_text
Else
'Enregistrement de la fiche dans la base données résils
Application.ScreenUpdating = False
'On copie les données qui viennent d'être saisies (feuille Stock)
'vers la feuille Données résils.
'L'enregistrement est ajouté à la fin de la feuille Données résils
Sheets('Données résils').Select
ActiveSheet.Unprotect
Sheets('Stock').Select
Range('A2:BU2').Select
Selection.Copy
Sheets('Données résils').Select
If Range('b3').Value = '' Then
Range('B2').Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
Else
Range('B2').Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
End If
Range('a1').Select
'On efface les éléments saisis dans la feuille Fiche saisie
clear_text
End If
End Sub
je tiens à préciser que ce code est activé par un bouton Formulaire et non commande.
je pense que ca risque de continuer à me souler un moment.
si quelqu'un a une idée je suis preneur.
merci à vous tous pour tout ce que vous faites et pour l'interet que vous portez à tous nos petits problèmes
Message édité par: darnel, à: 16/03/2006 10:52
Arf j'arrive pas à le mettre en jaune
bon c'est une des lignes suivante :
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
de totue facon, vu que c'est une conditionnelle, je pense que ca bug pareil avec n'importe laquelle de ces lignes pastspecial.
merci
Message édité par: darnel, à: 16/03/2006 10:56
Message édité par: darnel, à: 16/03/2006 11:00
Message édité par: darnel, à: 16/03/2006 14:18