traitement et creation d'une feuille excel

  • Initiateur de la discussion Initiateur de la discussion nsqualli
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nsqualli

Guest
Bonjour tout le monde,

j'aimerai creer une macro, qui va faire un traitement sur une feuille excel et a la fin, elle dois creer une feuille excel dans le meme classeur et y mettre le resultat du traiment.

est ce que vous pouvez me dire comment je peux creer une feuille excel dans le meme classeur avec une macro?

Merci
 
Re : traitement et creation d'une feuille excel

Bonjour


qui va faire un traitement sur une feuille excel
Quel traitement ?


Voir cet exemple
Code:
Sub test()
Dim Feuille As Worksheet
Dim Source As Worksheet
Set Source = ActiveSheet
'traitement
Source.Range("A1") = [A1] * 2
Set Feuille = Sheets.Add
Feuille.Name = "test"
Sheets("test").Range("A1") = Source.Range("A1")
End Sub
 
Dernière édition:
Re : traitement et creation d'une feuille excel

Bonjour


Quel traitement ?


Voir cet exemple
Code:
Sub test()
Dim Feuille As Worksheet
Dim Source As Worksheet
Set Source = ActiveSheet
'traitement
Source.Range("A1") = [A1] * 2
Set Feuille = Sheets.Add
Feuille.Name = "test"
Sheets("test").Range("A1") = Source.Range("A1")
End Sub

le traitement est le suivant:
il va faire un teste sur deux colonnes, si la premiere est supperieur a la deuxieme, il met des champs de cette ligne dans le nouveau fichier créée
 
Re : traitement et creation d'une feuille excel

Bonjour Staple,
Re,

Dans le nouveau fichier ou la nouvelle feuille ? ça n'est pas la même chose.
Et je suis désolé mais mon code fonctionne trés bien et répondait précisément à la question :

est ce que vous pouvez me dire comment je peux creer une feuille excel dans le meme classeur avec une macro?
 
un probleme avec le call

bon là j'ai une macro "testCreation()" qui fait appel à la macro "remplirFeuille()"

le probleme c que, quand je fais appel a la macro remplirFeuille() avec le code :

Code:
call remplirFeuille()

dés que je passe a la ligne suivante, les parentheses ne sont plus là :

Code:
call remplirFeuille

SVP, c'est dû à quoi?
 
Re : traitement et creation d'une feuille excel

c'est à dire un fichier exemple, avec quelques données pour que l'on comprenne le traitement à réaliser et que l'on puisse t'aider...

as-tu vérifié que ta macro s'appelle vraiment "remplirFeuille"
est elle placée dans le même module que "testcreation" ?
 
Re : traitement et creation d'une feuille excel

c'est à dire un fichier exemple, avec quelques données pour que l'on comprenne le traitement à réaliser et que l'on puisse t'aider...

as-tu vérifié que ta macro s'appelle vraiment "remplirFeuille"
est elle placée dans le même module que "testcreation" ?

oui je suis sure.
pour le code voila ce que j'ai fais:

Code:
Sub testCreation()

Const DistAG2AJ As Long = 3
Const DistAG2B As Long = -31

Dim cellule As Range

'ThisWorkbook.Worksheets.Add

'Sheets.Add
'ActiveSheet.Name = "Liste des Demandes"



Call remplirFeuille

For Each cellule In Range("AG1:AG" & Range("AG65000").End(xlUp).Row)

    If cellule.Value < cellule.Offset(0, DistAG2AJ) Then
    
        cellule.Offset(0, DistAG2B).Font.Color = vbGreen
        
    End If
    
Next

End Sub

Sub remplirFeuille()
'
' Macro1 Macro
' Macro enregistrée le 14/11/2008 par elhoumy
'

'

'creation de la feuille

Sheets.Add
ActiveSheet.Name = "Liste des Demandes"

    ActiveCell.FormulaR1C1 = "Réf"
    With ActiveCell.Characters(Start:=1, Length:=3).Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    
    Range("B1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Numéro"
    Range("C1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Vérsion réelle"
    Columns("D:D").Select
    Columns("C:C").ColumnWidth = 13.86
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "Type"
    With ActiveCell.Characters(Start:=1, Length:=4).Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "Devis de développement"
    With ActiveCell.Characters(Start:=1, Length:=22).Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    Range("F1").Select
    Columns("E:E").ColumnWidth = 23.43
    ActiveCell.FormulaR1C1 = "Raf dev + TU"
    With ActiveCell.Characters(Start:=1, Length:=12).Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    Range("G3").Select
    Columns("F:F").ColumnWidth = 20.43
    Columns("F:F").ColumnWidth = 14.57
End Sub
 
Re : traitement et creation d'une feuille excel

bon voila, là ça marche bien, et voila le code si ça peut servir:

Code:
Sub testCreation()

Const DistAG2AJ As Long = 3
Const DistAG2B As Long = -31

Dim cellule As Range

'ThisWorkbook.Worksheets.Add

Sheets.Add
ActiveSheet.Name = "Liste des Demandes"

Call ecrire

For Each cellule In Range("AG1:AG" & Range("AG65000").End(xlUp).Row)

    If cellule.Value < cellule.Offset(0, DistAG2AJ) Then
    
        [COLOR="Red"]cellule.Offset(0, DistAG2B).Font.Color = vbGreen[/COLOR]
        
        
    End If
    
Next

End Sub

la macro appellée:

Code:
Sub ecrire()
'
' ecrire Macro
' Macro enregistrée le 14/11/2008 par elhoumy
'

'
    Range("A1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Réf"
    
    Range("B1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Numéro"
    
    Range("C1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Version Réelle"
    
    Range("D1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Type"
    
    Range("E1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Devis de Développement"
    
    Range("F1").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "RAF dev + tu"
    
    Range("A2").Select
    Columns("F:F").ColumnWidth = 17.86
End Sub

Bon là, à la place de la ligne rouge, je veux faire le traitement suivant:
chaque fois que le teste est vrai, le traitement fait une extraction des cellules consernées de la premiere feuille et les mettre dans leurs cellules dans la deuxieme feuille (liste demande)

est ce que vous pouvez m'aidez?
Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
166
Réponses
3
Affichages
258
Réponses
6
Affichages
322
Retour