Automatiser mes copier coller enregistre sous

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Actuellement j'ai un onglet avec quelques 50 colonnes, et généralement quelques 100 lignes.
un autre onglet est une sorte de tableau qui reprend les info du premier onglet mais disposé de maniére
patchwork. dans ce second onglet je fonctionne avec une liste déroulante sur une celulle clé qui^pointe sur la colonne A du premier onglet puis des recherchev sur toutes les autres à partir de cette cellule et pointer vers le premier onglet...et parfois je colle une photo, une fois mis à jour je fait enregistrer cette onglet dans un nouveau classeur avec le nom de la cellule clé..
Je cherche à automatiser cela avec un code qui dirait que tant que tant que il y a en colonne A depuis la ligne 2 jusqu'à la derniére remplie alors remplie les cellules du second onglet (cellule evidement non contigues) et quand c'est fini enregistre ce second onglet comme un classeur avec pour nom de la ligne de la colonne A du premier onglet, voire même dit "fini pas de question, alors apéro...."
Y-a-til un bout d'exemple ?

A voir également:

7 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Et bien bon apprentissage. Tu verras, c'est très interessant vba.
Et on voit que tu es plus habitué à répondre qu'à poser des questions. Et le résolu alors !!!! ;-)
eric
1
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour cocotehier,

Ca serait bien que tu déposes un fichier exemple sur cijoint.fr ;-)

eric
0
Utilisateur anonyme
 
Bonjour,
J'imaginais faire cela : un peu comme le fusion publipostage d'excel vers word

sub() copier_coller_enregistrer

dim i as integer
dim lastfull as integer

Lastfull = range("a65535").end(xlup).value

For i = 1 to Lastfull

selectionner cellule data et copier dans cellule autre onglet
puis l'autre etc....
inserer la photo qui se trouve dans un autre repertoire

quand derniere cellule alors on enregistre

next i

end sub

https://www.cjoint.com/?fwvNMFM1qk
0
Utilisateur anonyme
 
Bonjour,
Je vais aussi chercher de mon côté, ce doit pas être sorcier ce truc.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir cocotehier,

J'ai un peu trainé, plutôt occupé ce we ;-)

J'ai modifié tes cellules destination qui ne collaient pas avec le format...
J'ai mis 3 constantes au début, à modifier selon tes besoins.
http://www.cijoint.fr/cjlink.php?file=cj200905/cijhJz7UCY.xls
Sub copier_coller_enregistrer()
    Const pathImg As String = "D:\tmp\"
    Const suffixeImg As String = ".jpg"
    Const pathSave As String = "D:\tmp\"
    Dim shData As Worksheet
    Dim shModele As Worksheet
    Set shData = Worksheets("Data")
    Set shModele = Worksheets("MEF1")
    Dim lig As Long
    '
    For lig = 2 To shData.[A65536].End(xlUp).Row
        'copier le modèle dans nouveau classeur
        shModele.Copy
        ' copier valeurs
        ActiveSheet.[A2].Value = shData.Cells(lig, 1).Value
        ActiveSheet.[D1].Value = shData.Cells(lig, 2).Value
        ActiveSheet.[D4].Value = shData.Cells(lig, 3).Value
        ActiveSheet.[B6].Value = shData.Cells(lig, 4).Value
        ' coller image
        ActiveSheet.Range("B8").Select
        ActiveSheet.Pictures.Insert(pathImg & shData.Cells(lig, 5).Value & suffixeImg).Select
        Selection.ShapeRange.LockAspectRatio = msoTrue
        Selection.ShapeRange.Height = 150
        Selection.ShapeRange.Width = 80
        Selection.ShapeRange.Rotation = 0#
        On Error Resume Next
        ' sauvegarder classeur
        ActiveSheet.SaveAs (pathSave & shData.Cells(lig, 5))
        On Error GoTo 0
        ' fermer classeur
        ActiveWorkbook.Close
    Next lig
'
    Set shData = Nothing
    Set shModele = Nothing
End Sub

eric
0
Utilisateur anonyme
 
OOOOOOOooooa !
Bonjour, Merci Eric,
Faut pas t'excuser de retard, c'est trés sympa d'avoir porter cette réponse, j'ai vraiment acheté un bouquin que je vais lire et appliquer. Même si j'ai finalement des choses assez compliquées à traiter avec des façons simples, un bien un bon "code" cela permet....d'en faire encore plus qu'avant. J'ai toujours voulu me préserver du coding...pour ne pas mettre les mains dans le moteurs...ca, c'est comme pour mon char.
J'ai deux bécanes, l'une tourne au 2000 avec un office 09 l'autre au 2003 avec un office 10.
Encore Merci.

0
Utilisateur anonyme
 
Bonjour,
Résolu, je gagne vraiment beaucoup de temps avec cette macro !
Faudras que je trouve juste pourquoi j'ai "impossible de lire la propriété insert de la classe picture"
Je vais regardé.
Merci

0