Cellules identiques uniquement si lignes actives

Karhl

XLDnaute Nouveau
Bonjour à tous,

Je suis face à une difficulté qui me dépasse. Je ne suis guère doué sur Excel il faut bien l'avouer.

Voici la problématique :
Mon classeur Excel contient deux feuilles.
La première me sert à saisir les infos dont j'ai besoin pour mon travail (nom du client, description de son problème, téléphone, etc...)
La seconde est une fiche récapitulative à faire signer au client.
Lorsque j'ai saisi les infos sur la feuille 1, je dois ensuite faire 4 à 5 copiers/collers à des endroits précis sur la feuille 2 pour ensuite l'imprimer. C'est très laborieux, surtout quand je suis face à une file d'attente de clients souvent pressés.

Je cherche donc à créer une macro (ou une formule ?) qui me permettrait d'obtenir automatiquement les copiers/collers dont j'ai besoin.

Jusqu'à présent, j'ai pu enregistrer une macro stupide qui copie/colle les bonnes infos au bon endroit mais... ça ne fonctionne que sur la ligne que j'ai utilisé lors de l'enregistrement ! Si j'ajoute une ligne et ses infos, fatalement et fort logiquement, la macro recopie sur ma feuille 2 la ligne utilisée lors de l'enregistrement de la macro.

La voici :

Sub Macro2()
'
' Macro2 Macro
'
' Touche de raccourci du clavier: Ctrl+f
'
Selection.Copy
Sheets("FICHE").Select
Range("C5:E5").Select
ActiveSheet.Paste
Sheets("INTERVENTIONS").Select
Range("E1245").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("FICHE").Select
Range("C6:E6").Select
ActiveSheet.Paste
Range("B9:G9").Select
Sheets("INTERVENTIONS").Select
Range("H1245").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("FICHE").Select
ActiveSheet.Paste
Sheets("INTERVENTIONS").Select
Range("L1245").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("FICHE").Select
Range("B16:G19").Select
ActiveSheet.Paste
End Sub

J'espère voir été clair ^^

Merci d'avance pour votre aide précieuse.
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,
... Funeste destin pour cet onglet...
:(

En effet !

Avec le code ci-après (logé dans le module de l'onglet "INTERVENTIONS"), un clic double en colonne a lance la copie des valeurs et l'impression.
VB:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal c As Range, Cancel As Boolean)
    If c.Row > 1 And c.Value <> "" Then
        With Sheets("FICHE")
            .[c5] = c.Value
            .[c6] = c(1, 5).Value
            .[b9] = c(1, 8).Value
            .[b16] = c(1, 12).Value
            .Activate
            .PrintPreview    'apercevoir
            ' .PrintOut ' imprimer
        End With
        Sheets("INTERVENTIONS").Activate
        Cancel = True
    End If
End Sub
A bientôt :)
 

Karhl

XLDnaute Nouveau
Bonjour et merci pour la réponse c'est bien sympa !

Comment ce script fonctionne t-il exactement ? Je crée une macro, je colle le code et ensuite je l'exécute ?

Désolé je ne suis pas doué, d'où la photo de profil...... :confused:
 

DoubleZero

XLDnaute Barbatruc
Bonjour, Karhl, le Forum,
... Comment ce script fonctionne t-il exactement ?...
Désolé je ne suis pas doué, d'où la photo de profil...... :confused:
Cf. la mienne :(
J'ai trouvé !..
Bravo !
... je ne sais pas comment te remercier ! Ah bah si tiens je vais commencer par M E R C I !!
Re-bravo : l'article 6 de la charte, rubrique "Demandeur", est parfaitement respecté, merci !

Remarque concernant le code... Pour une impression immédiate de l'onglet, sans l'aperçu :

- ajouter l'apostrophe devant .PrintPreview 'apercevoir ;

- supprimer l'apostrophe devant ' .PrintOut ' imprimer

A bientôt :)
 
Dernière édition:

Discussions similaires