Question d'exception

rened

XLDnaute Junior
Bonjour le forum
J'aimerais savoir s'il est possible dans la macro suivante
de faire exception dans le sélection range des lignes
13 20 60 103 123 151 ect sur la feuille devis.
je m'explique

dans la feuille devis à l'aide d'une sélection je choisis certain éléments
une fois sélectionnés je click sur le boutons devis qui lance la macros.
Dans la sélection sur la feuille il y a des ligne qui contiennent les titres
je voudrais que ces lignes fassent patie d'exception.

macro

Option Explicit


Public Sub Devis()
Dim Plg As Variant, L As Integer, Li As Integer
With Worksheets("Devis")
Plg = .Range("B14:K" & .Range("B65536").End(xlUp).Row)
End With

With Worksheets("Soumission")
.Range("A29:A57").ClearContents
.Range("J29:J57").ClearContents
Li = 29
For L = 1 To UBound(Plg, 1)
If Plg(L, 2) <> "" Or Plg(L, 5) <> "" Or Plg(L, 6) <> "" Then
.Range("A" & Li) = Plg(L, 1)
.Range("J" & Li) = Plg(L, 10)
Li = Li + 1
End If
Next L

End With

End Sub

Private Sub CommandButton1_Click()
Devis
End Sub
 

Spitnolan08

XLDnaute Barbatruc
Re : Question d'exception

Bonjour,

J'adore ce genre de question sans fichier...
Essaye :
Code:
 For L = 1 To UBound(Plg, 1)
If Instr("13.20.60.103.123.151",L)=0 then
If Plg(L, 2) <> "" Or Plg(L, 5) <> "" Or Plg(L, 6) <> "" Then
....
end if
End If
Next L
Cordialement

Non testé bien entendu...
 

rened

XLDnaute Junior
Re : Question d'exception

Bonjour Spitnolan08
J'ai essayé ta proposition mais elle me donne une
ereur de compilation avec next L
Je ne peut pas t'envoyer le fichiers car il est trop gros
cependant voici un fichier épuré
Merci
Rened
 

Pièces jointes

  • Devis test.xls
    24 KB · Affichages: 52
  • Devis test.xls
    24 KB · Affichages: 57
  • Devis test.xls
    24 KB · Affichages: 56

Spitnolan08

XLDnaute Barbatruc
Re : Question d'exception

Re,

effectivement j'avais zappé un élément... Mais tu aurais pu le trouver tout seul en cherchant un peu...:cool:
J'en ai profité pour "dépoussiérer" un peu ton code et le simplifier , en espérant que j'ai bien compris...
Par ailleurs, pense lorsque tu joints un fichier à ce qu'il soit fonctionnel...Ce serait sympa. Il manquait par exemple la feuille "soumission". Un détail certes mais quand même:
Code:
Public Sub Devis()
Dim L As Integer

With Worksheets("Soumission")
    Union(.Range("A29:A57"), .Range("J29:J57")).ClearContents
    For L = 14 To Worksheets("Devis").Range("B65536").End(xlUp).Row
        If InStr(".13.20.60.103.123.151.", "." & L & ".") = 0 Then
            If Cells(L, "C") <> "" Or Cells(L, "F") <> "" Or Cells(L, "G") <> "" Then
                .Cells(15 + L, "A") = Cells(L, 2)
                .Cells(15 + L, "J") = Cells(L, 11)
            End If
        End If
    Next L
End With

End Sub
Valable à condition que tu lances la macro comme actuellement depuis la feuille devis. Sinon, il faut ajouter quelques références de feuille avant les cells sans "."

Cordialement:)
 

rened

XLDnaute Junior
Re : Question d'exception

Bonjour Spitnolan08 et le forum
J'ai tester ta macro mais elle ne fonctionne pas non plus
je t'envoie un fichier avec la feuille soumission. Cela me semble un peu plus complexe.
Merci
Rened
 

Pièces jointes

  • Devis test2.xls
    36 KB · Affichages: 64

Spitnolan08

XLDnaute Barbatruc
Re : Question d'exception

Re,

Je suis désolé mais tu me renvoies toujours les mêmes éléments...sauf que les lignes changent (Par exemple la ligne EXTERIEUR est maintenant en ligne 21 et plus 20) et que forcément la macro n'est plus adaptée.
Remplace ton dernier fichier par un fichier contenant des données fictives qui permettent de voir ce que tu veux faire avec ta macro et l'expliquer dans le fichier. Sinon, je crains qu'on tourne en rond longtemps...
Enfin, plutôt que simplement dire "Ca ne marche pas", préciser ce qui ne marche pas.

Dans l'attente de précisions.
Cordialement
 

rened

XLDnaute Junior
Re : Question d'exception

Bonjour Spitnolan et le forum
Désolé de ne pas être clair je te renvoie le fichier qui fonctionne partiellement.
Sur le fichier pour que cela fonctionne il faut que j'enlève dans les colonnes f,g,h,i et k, Ligne 13 Agrandissement, Ligne 21 Extérieur, les mots PL/PC, Quantité,Instalation, Prix, TOTAL qui représente les titres, qui ne doivent pas apparaitrent sur soumission, seule les cellules b et k comme les éléments sélestionnés sur devis
Le contenue doit se lire comme sur le fichier ci-joint
Les mots Agrandissement et Extérieur sont les titres et ne doivent pas apparaitre ni PL/PC, Quantité,Instalation, Prix, TOTAL
Je voudrais pouvoir ajouter les mots PL/PC, Quantité,Instalation, Prix, TOTAL
aux lignes 13,21 ect. dans le but de ne pas être oubligé de remonter à la ligne 5 à chaque fois que je fait une sélection dans les lignes plus bas ex: ligne 555 Il faudrais aussi que piusse aussi ajouter des nouvelles lignes
J'espère avoir été assez clair
Rened
Merci beaucoup
 

Pièces jointes

  • Devis test3.xls
    36 KB · Affichages: 59
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Question d'exception

Re,
J'espère avoir été assez clair
J'espère mais je n'en suis pas sûr... car, pour moi, le code que je t'ai transmis faisait ce que tu demandes à un détail près que je viens de rectifier (réintroduction de Li) :
Code:
Public Sub newDevis()
Dim L As Integer, Li As Integer

Li = 29
With Worksheets("Soumission")
    Union(.Range("A29:A57"), .Range("B29:B57"), .Range("J29:J57")).ClearContents
    For L = 14 To Worksheets("Devis").Range("B65536").End(xlUp).Row
        If InStr(".13.21.60.103.123.151.", "." & L & ".") = 0 Then
            If Cells(L, "C") <> "" Or Cells(L, "F") <> "" Or Cells(L, "G") <> "" Then
                .Cells(Li, "A") = Cells(L, 2)
                .Cells(Li, "J") = Cells(L, 11)
                Li = Li + 1
            End If
        End If
    Next L
End With

End Sub
Je voudrais pouvoir ajouter les mots PL/PC, Quantité,Instalation, Prix, TOTAL
aux lignes 13,21 ect. dans le but de ne pas être oubligé de remonter à la ligne 5 à chaque fois que je fait une sélection dans les lignes plus bas ex: ligne 555 Il faudrais aussi que piusse aussi ajouter des nouvelles lignes
Le code le permet. Cependant, pour ton information si c'est ton seul pb : les titres de colonnes peuvent être placé en haut sans répétition et être visibles dans toute la feuille via fenêtre figer les volets.

Cordialement
 

rened

XLDnaute Junior
Re : Question d'exception

Bonjour Spitnolan08 et le forum
Merci pour ton aide cela à réglé mon problème.
Autre question selon vos connaissance a partir d'un logitiel de dessin d'architecture peut-on selon certaine fonction fait avec le logiciel transférer
ces données sur un fichier excel .
Je suis un peu vague pour le monent.
Les fonctions utilisées dans un logitiel de dessin sont-elle transférable sur excel
Je parle de transfert de données de type texte.
Rened
 

rened

XLDnaute Junior
Re : Question d'exception

Bonjour Spitnolan et le forum
Merci pour la réponse toujours aussi rapide
Je suis à completer l'étude de certaine fonction du logitiel de dessin
qui devront être transférées sur excel.
Au stade préliminaire présentement.
Merci encore pour ton aide.
Rened
 

Discussions similaires

Réponses
2
Affichages
569

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 871
Messages
2 093 102
Membres
105 627
dernier inscrit
jean-marc.brillant