XL 2010 [RÉSOLU par Staple1600] Feuille de Synthèse "aléatoire"

  • Initiateur de la discussion Initiateur de la discussion Sybille
  • 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 !

Sybille

XLDnaute Junior
Bonjour à Tous (et merci du temps passé à m'aider),

Imaginez un tableau avec de nombreuses colonnes (exemple : de A à BZ) et de nombreuses lignes (exemple : de 1 à 40)
Coté ligne, vous avez en ligne 9 une information.
CaptureTableau.JPG


Je souhaiterai faire une synthèse de ce tableau qui copierait toutes les colonnes ayant une information en ligne 9.

La synthèse en question s’enregistrerait toute seule à un endroit choisi.

Comment écrire ceci en macro ?

Voici la macro que j’ai écrite pour le moment (en pièce jointe)

Capture.JPG


Comme vous pouvez le lire, cette macro copie absolument toute ma feuille.

Comment faire pour arriver à copier toute les colonnes (ligne 1 à 40) ayant une information en ligne 9 ?

A l’avance merci pour votre aide,

Bonne journée a tous,

Sybille
 
Bonjour le fil, le forum

@Sybille [Bienvenue sur le forum]
Les photos sont pius à leur place dans un album photo 😉
Ici elles ne servent pas à grand chose, puisque qu'on ne pas tester de VBA sur un jpg
PAr contre, si tu joignais un fichier Excel, alors là tout de suite, on pourrait commencer à causer VBA 😉
 
Re

@Sybille
Pour info, on peut simplifier l'écriture de ta macro ainsi
VB:
Sub Fichier_Import()
Dim dir_import As String, fichierOpus As String, temp As String
dir_import = "C:\TEMPO\" 'ici mettre le vrai chemin
    With ActiveSheet
        fichierOpus = .Cells(4, 4).Value & "_" & .Cells(1, 1).Value & .Name
        .Copy
    End With
temp = dir_import & fichierOpus
ActiveWorkbook.SaveAs temp, FileFormat:=xlNormal
ActiveWorkbook.Close True
MsgBox "fichier crée avec succès"
End Sub
 
Merci Staple 1600 pour ce nettoyage de macro,

J'ai compris qu'effectivement, j'ajoute des informations pour... rien!
(parce que si on ne le note pas ça fait exactement la même chose 😕)
et qu'il y a moyen d'écrire des macros beaucoup plus claire... (j'ai encore du travail de ce coté là...)

Maintenant, le plus compliqué : là, je ma macro copie toute ma feuille.
Comment faire pour arriver à copier toutes les colonnes (ligne 1 à 40) ayant une information en ligne 9 ?
et juste celle là...

A l'avance merci,

Sybille
 
Re

Et maintenant, c'est mieux?
VB:
Sub Fichier_Import()
Dim dir_import As String, fichierOpus As String, temp As String, copie As Worksheet, i As Long
dir_import = "C:\TEMPO\" 'ici mettre le vrai nom du chemin du dossier
Application.ScreenUpdating = False
    With ActiveSheet
        fichierOpus = .Cells(4, 4).Value & "_" & .Cells(1, 1).Value & .Name
        .Copy
    End With
temp = dir_import & fichierOpus
Set copie = ActiveSheet
With copie.UsedRange
'transforme en valeurs seules
.Value = .Value
'boucle sur les colonnes
For i = .Cells(6, Columns.Count).End(xlToLeft).Column To 1 Step -1
'si la cellule en ligne 9 est vide alors on supprime la colonne
If Len(.Cells(9, i)) = 0 Then
.Cells(9, i).EntireColumn.Delete
End If
Next
End With
ActiveWorkbook.SaveAs temp, FileFormat:=xlNormal
ActiveWorkbook.Close True
MsgBox "fichier crée avec succès"
End Sub
 
Dernière édition:
Bon, pour le moment, je ne comprends pas encore tout...

Tout ce que je sais, c'est que quand je colle cette macro (en mettant le vrai nom du chemin du dossier), la macro copie toute ma feuille 😵.

Je cherche le problème (et bien évidemment à tout comprendre aussi 😉).

Mais si vous trouvez avant moi...😀
 
Re

Chez moi, avec ton fichier exemple, cette dernière macro * respecte cette contrainte
Comment faire pour arriver à copier toutes les colonnes (ligne 1 à 40) ayant une information en ligne 9 ?
* : je parle de la macro du message#9
Fais le test sur le fichier exemple que tu as joint.
Le fichier créé sera dans le dossier renseigné par la variable dir_import

EDITION: J'ai ajouté des commentaires dans la macro.
 
Je retente et effectivement, petit coup de fatigue de ma part, mon petit dessin pour activer la macro allait chercher mon ancienne macro 🙄 (désolé pour la perte de temps)

Mais ça fonctionne super bien!!!!!

j'ai plus qu'a bien la déchiffrer pour pouvoir la réutiliser dans d'autres macros si besoin 😀
(c'est bien beau le copier-coller mais c'est quand même plus gratifiant quand on y arrive tout seul après!)

MERCI ENORMEMENT
d'abord à toi Staple1600 pour ton aide
et aussi à excel-downloads d'exister

j'espère réussir à répondre un jour à quelqu'un 😳

Sybille
 
- 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

Discussions similaires

Retour