Réalisation d'un devis

Benjy

XLDnaute Occasionnel
Bonjour à tous !!

Encore une fois je reviens vers votre forum car je recquiert votre aide.

Je n'arrive pas à joindre mon fichier celui ci est trop gros ( 500 ko ).
Et je ne dispose pas de 7zip ou winzip sur ce pc. Si quelqu'un veut bien m'aider je peux envoyer mon fichier par mail pour qu'il le compresse...

Je cherche à réaliser un devis. J'ai une première feuille qui contient des cases à cocher pour chaque article. ( environ 50 cases )
Si la case est coché il apaprait sur la ligne, la référence du produit son prix, la quantité souhaité etc. Si la case n'est pas coché il n'apparait rien. (Cela ne signifie pas que la ligne est vide. Elle contient quand même les formules...)

Ce que je souhaiterais faire c'est un devis. Sur une autre feuille j'ai un tableau a remplir ( la référence des produits choisis, leur prix etc... )
Est-il possible par macro de remplir ce tableau automatiquement en fonction des cases qui sont cochés ?

Je peux très bien dire que la premiere ligne de mon devis correspond à la première case à cocher et ainsi de suite. Seul problème si la case n'est pas cocher je me retrouve avec une ligne vide dans mon devis... Ce qui une fois imprimé ne fait pas propre.

Si quelqu'un pouvait me fournir une piste pour ce problème sa m'aiderais beaucoup.
 

Benjy

XLDnaute Occasionnel
Re : Réalisation d'un devis

Wouah j'étais pas si loin du code alors :eek:.
Malheuresement aucun des 2 ne marche. J'obtiens la même erreur sur les 2 à savoir :
"Erreur d'execution 1004:
Impossible de définir la propriété HIDDEN de la classe RANGE."
 

Efgé

XLDnaute Barbatruc
Re : Réalisation d'un devis

Re Benjy, Bonjour le fil, le forum
(Désolé pour la mauvaise manip du post précédent...)
Benjy, je n'ai pas de problème,sous 2003 et 2007, avec les codes donnés hier soir (voir pièce jointe). Vérifie bien ton code. Sous quelle version d'Excel est tu ? Tes données sont elle bien comme dans mon fichier ?
Cordialement
 

Pièces jointes

  • Benjy(test).xls
    26 KB · Affichages: 57

Benjy

XLDnaute Occasionnel
Re : Réalisation d'un devis

Aie aie aie... Je suis sous Excel 97 effectivement. Et j'obtiens les même erreurs en utilisant ton fichier test.. C'est donc un problème compatibilité.

Mais l'option existe sous 97 puisque on peut voir le code avec l'enregistreur automatique.

Code:
Sub testauto()
'
' testauto Macro
' Macro enregistrée le 06/05/2010 par bwalter
'

'
    Rows("6:6").Select
    Selection.EntireRow.Hidden = True
    Selection.EntireRow.Hidden = False
End Sub

Voilà le code qui m'est donné par l'enregistreur lorsque je séléctionne la ligne 6 que je la masque, puis que je la réaffiche. C'est vraiment dommage ces problèmes de compatibilité... Je dois faire ce petit programme pour divers commerciaux en france. La probabilité qu'il est tous la même version d'excel et que se soit la même que la mienne est plutôt mince. Je suis donc en train de perdre gentillement mon temps ^^.

Et donc dans mon cas si je remplace le "6" par un "i" :
Code:
Sub test2()
'
' test2 Macro
' Macro enregistrée le 05/05/2010 par bwalter
'
For i = 14 To 48
    If Cells(i, 1) = "" Then
        Rows("i:i").Select
        Selection.EntireRow.Hidden = True
    Else
    End If
Next i

End Sub

J'obtiens une erreur sur la ligne Rows("i:i").select
"Erreur définir par l'application ou par l'objet"

Les mystères d'excel ^^
 

Efgé

XLDnaute Barbatruc
Re : Réalisation d'un devis

Re
Je t'ai donné la méthode pour ton problème de row....
Code:
Sub test2()
For i = 14 To 48
    If Cells(i, 1) = "" Then 
       [COLOR=red][B] Rows(i & ":" & i)[/B][/COLOR].Select
        Selection.EntireRow.Hidden = True
    Else
    End If
Next i
End Sub
Cordialement
 

Benjy

XLDnaute Occasionnel
Re : Réalisation d'un devis

Ah oui j'avais pas compris que je devais mixer les deux codes excuse moi.
Effectivement sa fonctionne très bien maintenant !!

Peux tu me rendre un dernier service et me dire si ce code fonctionne sur 2003 et 2007 ?
Code:
Sub test2()
'
' test2 Macro
' Macro enregistrée le 05/05/2010 par bwalter
'
For i = 14 To 48
    If Cells(i, 1) = "" Then
        Rows(i & ":" & i).Select
        Selection.EntireRow.Hidden = True
    Else
    End If
Next i

End Sub


Car sa m'éviterais de devoir faire second voir un troisième fichier pour les autres versions d'excel.
 

Benjy

XLDnaute Occasionnel
Re : Réalisation d'un devis

Bonne nouvelle pour 2003.
Ok j'ai enlever le Else.

Mais j'arrive pas à remettre les lignes...

En fait mon boutton de remise à zéro décoche toute les cases. Donc toute les lignes de mon tableau se retrouve vide.
Je peux donc utiliser le même code à la fin :
Code:
Sheets("Devis").Select
For i = 14 To 53
    If Cells(i, 1) = "" Then
        Rows(i & ":" & i).Select
        Selection.EntireRow.Hidden = False
    End If
Next i

Mais cette fois en les affichants au lieu de les masquer.

Mais j'obtiens une erreur : "la méthode select de la classe range à échoué"
D'ailleurs aucun code ne marche pour réafficher une ligne...
 

Benjy

XLDnaute Occasionnel
Re : Réalisation d'un devis

Ah si sa marche. Mais uniquement quand le bouton se trouve sur la même feuille que le tableau.
Bien j'ai assez abusé de votre temps !

Merci bien pour votre aide ! Comme toujours très efficace !!

Bonne continuation !
 

Discussions similaires

Réponses
2
Affichages
295
Réponses
3
Affichages
347

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 458
dernier inscrit
Vulgaris workshop