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

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
 

Staple1600

XLDnaute Barbatruc
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 ;)
 

Sybille

XLDnaute Junior
oups, ça c'est moi qui en contrepartie de votre aide, ai essayé de répondre à quelqu'un d'autre.

Donnant donnant quoi :) (mais vous êtes trop fort et rapide pour moi on dirait)

Voici le bon fichier
 

Pièces jointes

  • TEST Sybille.xls
    51.5 KB · Affichages: 24

Staple1600

XLDnaute Barbatruc
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
 

Sybille

XLDnaute Junior
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 :confused:)
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
 

Staple1600

XLDnaute Barbatruc
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:

Sybille

XLDnaute Junior
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 o_O.

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

Mais si vous trouvez avant moi...:D
 

Staple1600

XLDnaute Barbatruc
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.
 

Sybille

XLDnaute Junior
Je retente et effectivement, petit coup de fatigue de ma part, mon petit dessin pour activer la macro allait chercher mon ancienne macro :rolleyes: (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 :D
(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 :oops:

Sybille
 

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 453
Membres
102 890
dernier inscrit
selkis