Bonjour à tous,
Je souhaiterais, que la macro ne résonne pas
Bonjour à tous,
Je souhaiterais, que la macro ne résonne pas
Bonjour à tous,
Je souhaiterais, que la macro ne résonne pas
pour cela, océane, il faut éviter de taper sur le moniteur avec ton
mulot....
jps
PS pardon, océane, de mettre engouffrer dans cette brèche : ce fut, pour
moi, plus facile, hélas!, que de répondre à ta question...
"oceanef" a écrit dans le message de
news:Bonjour à tous,
Je souhaiterais, que la macro ne résonne pas
pour cela, océane, il faut éviter de taper sur le moniteur avec ton
mulot....
jps
PS pardon, océane, de mettre engouffrer dans cette brèche : ce fut, pour
moi, plus facile, hélas!, que de répondre à ta question...
"oceanef" <oceanef@tiscali.fr> a écrit dans le message de
news:OpCRa2RLFHA.2252@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
Je souhaiterais, que la macro ne résonne pas
pour cela, océane, il faut éviter de taper sur le moniteur avec ton
mulot....
jps
PS pardon, océane, de mettre engouffrer dans cette brèche : ce fut, pour
moi, plus facile, hélas!, que de répondre à ta question...
"oceanef" a écrit dans le message de
news:Bonjour à tous,
Je souhaiterais, que la macro ne résonne pas
Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublons
et la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10
à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides) de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50
à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublons
et la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10
à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides) de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50
à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublons
et la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10
à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides) de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50
à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" a écrit dans le message news:Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublonset la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" <oceanef@tiscali.fr> a écrit dans le message news:
OpCRa2RLFHA.2252@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublons
et la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10
à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50
à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" a écrit dans le message news:Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublonset la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" a écrit dans le message news:Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublonset la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" <oceanef@tiscali.fr> a écrit dans le message news:
OpCRa2RLFHA.2252@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublons
et la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10
à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50
à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" a écrit dans le message news:Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15 lignes
ouseulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublonset la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides) de
A10à A29 (+ saute une ligne pour aérer avec le texte suivant) sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides) de
A50à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Re-bonsoir Hervé,
Cette macro est fantastique sur du texte rentré en dur par contre elle ne
fonctionne pas quand le texte de la feuille saisie de A10 à A69 est rentré
via des formules. Erreur d'exécution 1004 "pas de cellules
correspondantes"
et le débogueur se met sur Set PlageCopie=plageElec....
Je pense qu'il ne reconnaît pas les cellules avec des formules!
C'est grave docteur? Cela se soigne?
Océane
"Hervé" a écrit dans le message de news:
uYR%Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" a écrit dans le message news:Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15
lignes
ouseulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15
lignes
ouseulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes
non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublonset la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais
à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides)
de
A10à A29 (+ saute une ligne pour aérer avec le texte suivant)
sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides)
de
A50à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Re-bonsoir Hervé,
Cette macro est fantastique sur du texte rentré en dur par contre elle ne
fonctionne pas quand le texte de la feuille saisie de A10 à A69 est rentré
via des formules. Erreur d'exécution 1004 "pas de cellules
correspondantes"
et le débogueur se met sur Set PlageCopie=plageElec....
Je pense qu'il ne reconnaît pas les cellules avec des formules!
C'est grave docteur? Cela se soigne?
Océane
"Hervé" <hmsilve@wanadoo.fr> a écrit dans le message de news:
uYR%23VEXLFHA.724@TK2MSFTNGP14.phx.gbl...
Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" <oceanef@tiscali.fr> a écrit dans le message news:
OpCRa2RLFHA.2252@TK2MSFTNGP15.phx.gbl...
Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15
lignes
ou
seulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15
lignes
ou
seulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes
non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublons
et la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais
à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides)
de
A10
à A29 (+ saute une ligne pour aérer avec le texte suivant)
sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides)
de
A50
à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane
Re-bonsoir Hervé,
Cette macro est fantastique sur du texte rentré en dur par contre elle ne
fonctionne pas quand le texte de la feuille saisie de A10 à A69 est rentré
via des formules. Erreur d'exécution 1004 "pas de cellules
correspondantes"
et le débogueur se met sur Set PlageCopie=plageElec....
Je pense qu'il ne reconnaît pas les cellules avec des formules!
C'est grave docteur? Cela se soigne?
Océane
"Hervé" a écrit dans le message de news:
uYR%Salut Océane,
Je ne sais pas si j'ai bien compris, mais teste ceci et dis moi si ça
convient :
Sub Macro1()
Dim FeSaisie As Worksheet
Dim FeDevis As Worksheet
Dim k As Long, ligne As Long
Dim PlageElec As Range
Dim PlagePlomb As Range
Dim PlageToit As Range
Dim PlageCopie As Range
Set FeSaisie = Worksheets("saisie")
Set FeDevis = Worksheets("devis")
With FeSaisie
Set PlageElec = .[A10:A29]
Set PlagePlomb = .[A30:A49]
Set PlageToit = .[A50:A69]
For k = 1 To 3
If .Range("B" & k) > 0 Then
ligne = FeDevis.Range("A65536").End(3).Row + 2
Select Case k
Case 1
Set PlageCopie = PlageElec.SpecialCells(2)
Case 2
Set PlageCopie = PlagePlomb.SpecialCells(2)
Case 3
Set PlageCopie = PlageToit.SpecialCells(2)
End Select
PlageCopie.Copy FeDevis.Range("A" & ligne)
End If
Next k
End With
Set PlageCopie = Nothing
Set PlageElec = Nothing
Set PlagePlomb = Nothing
Set PlageToit = Nothing
Set FeSaisie = Nothing
Set FeDevis = Nothing
End Sub
Hervé
"oceanef" a écrit dans le message news:Bonjour à tous,
J'ai la macro çi-dessous que je voudrais faire évoluer :
Sub Macro1()
For k = 1 To [Lookup(9^9,saisie!B:B)]
If Sheets("saisie").Cells(k, 2) > 0 Then
For B = k * 10 To k * 10 + 10
If Sheets("saisie").Cells(B, 1) <> "" Then
ligne = ligne + 1
Sheets("devis").Cells(ligne, 1) = Sheets("saisie").Cells(B, 1)
End If
Next
End If
Next
End Sub
Cette macro me recopie, dans ma feuille devis, le texte contenu dans ma
feuille "saisie" à partir de la ligne10 si la valeur de B1(dans feuille
saisie) est sup à 0.
Dans feuille "saisie" j'ai 3 critères:
A1: ELECTRICITE B1: formule de calcul qui donne résultat
A2: PLOMBERIE B2: formule de calcul qui donne résultat
A3: TOITURE B3: formule de calcul qui donne résultat
A10:ELECTICITE
A11 à A29:plusieurs lignes de textes variables (on peut avoir 15 lignes
ou
seulement 5 lignes et certaines sont vides)
A30:PLOMBERIE
A31 à A49: plusieurs lignes de textes variables (on peut avoir 15
lignes
ouseulement 5 lignes et certaines sont vides)
A50:TOITURE
A51 à A69: plusieurs lignes de textes variables (on peut avoir 15
lignes
ouseulement 5 lignes et certaines sont vides)
La macro me recopie, dans ma feuille devis, de la ligne A10+10lignes
non
vides+ encore 10 lignes non vides. Du coup je me retrouve avec des
doublonset la catégorie "TOITURE" non prise.
Je souhaiterais, que la macro ne résonne pas en quantité de lignes mais
à
chaque changement de critères.
EX: Si (B1 >à 0 alors recopie et insère texte (sans les lignes vides)
de
A10à A29 (+ saute une ligne pour aérer avec le texte suivant)
sinon
rien et teste ligne suivante B2
Si (B2>à 0 alors recopie et insère texte (sans les lignes vides)
de
A30 à A49(+saute une ligne pour aérer avec le texte suivant) sinon rien
et
teste ligne suivante B3
Si(B3>à 0 alors recopie et insère texte (sans les lignes vides)
de
A50à A69 (+saute une ligne pour aérer avec le texte suivant) sinon rien.
merci
océane