[VBA] Probleme emplacement macro
Fermé
fabriiice31
Messages postés
2
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2007
-
14 sept. 2007 à 12:08
Utilisateur anonyme - 14 sept. 2007 à 18:45
Utilisateur anonyme - 14 sept. 2007 à 18:45
A voir également:
- [VBA] Probleme emplacement macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Emplacement fichier host - Guide
- Find vba - Astuces et Solutions
3 réponses
Utilisateur anonyme
14 sept. 2007 à 14:21
14 sept. 2007 à 14:21
Bonjour,
À placer dans un module :
Lupin
À placer dans un module :
Sub Enregistrer() Const Destination = "Destination" Const Maitre = "MonFichier.xls" Dim j As Integer, i As Integer, Feuille As String Dim NomFichier As String j = 1 Feuille = ActiveSheet.Name Worksheets.Add.Name = Destination Sheets(Feuille).Select 'boucle dans la feuille activée jusqu'a la derniere ligne For i = 0 To (ActiveSheet.Range("A1:A65536").End(xlDown).Row - 1) 'condition ligne colorée 'si colorée, on copie la ligne dans la nouvelle feuille ' a partir de la premiere ligne If ActiveCell.Offset(i, 0).Interior.ColorIndex = 33 Then ActiveCell.Offset(i, 0).EntireRow.Copy Sheets(Destination).Range("A" & j).PasteSpecial Paste:=xlValues j = j + 1 'incrément de j End If Next i Sheets(Destination).Copy NomFichier = Application.GetSaveAsFilename(fileFilter:="Classeur Excel (*.xls), *.xls") ActiveWorkbook.SaveAs Filename:=NomFichier, FileFormat:=xlWorkbookNormal ActiveWorkbook.Close Application.DisplayAlerts = False Sheets(Destination).Delete Application.DisplayAlerts = True End Sub '
Lupin
fabriiice31
Messages postés
2
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
14 septembre 2007
14 sept. 2007 à 14:31
14 sept. 2007 à 14:31
Merci beaucoup Lupin pour ton aide précieuse (et rapide) bien que je ne comprenne toujours pas trop pourquoi cela ne marchait pas (j'ai oublié de préciser que j'avais également essayé de la placer dans un module sans succès!!)
Merci encore en tout cas
Fab
Merci encore en tout cas
Fab
Utilisateur anonyme
14 sept. 2007 à 18:45
14 sept. 2007 à 18:45
re :
Quand j'ai du temps ... c'est un plaisirs que d'aider autrui, et oui je suis altruiste :-)
Pour te donner quelques idées sur le non-fonctionnement.
Cordialement
Lupin
Quand j'ai du temps ... c'est un plaisirs que d'aider autrui, et oui je suis altruiste :-)
Pour te donner quelques idées sur le non-fonctionnement.
Sub enregistrer() Dim j As Integer j = 1 Set NewSheet = Worksheets.Add ' L'instruction [ Worksheets.Add ] a le même effet que ' de dire [ ThisNewSheets.Select ] For i = 1 To ActiveSheet.Range("A2").End(xlDown).Row ' Donc le [ ActiveSheet ] dans la boucle For pointe ' sur la nouvelle feuille et non sur la source If Rows(i).Interior.ColorIndex = 33 Then ' Je n'ai jamais utiliser cette syntaxe et de plus ' le compilateur me génère une erreur -> [ Rows(i).Interior.ColorIndex ] Rows(i).Copy NewSheet.Range("A" & j).PasteSpecial Paste:=xlValues j = j + 1 End If Next i NewSheet.Copy NomFichier = Application.GetSaveAsFilename(fileFilter:="Classeur Excel (*.xls), *.xls") ActiveWorkbook.SaveAs Filename:=NomFichier, FileFormat:=xlWorkbookNormal ' Lors d'une destruction par VBA il est souhaitable de désactiver ' les "popups" de validation. ' Application.DisplayAlerts = False NewSheet.Delete End Sub '
Cordialement
Lupin