macro pour copie des cellules à un endroit précis d'une feuille pré remplie

superbog

XLDnaute Occasionnel
Bonjour,
Je me heurte à une difficulté récurrente qui rend mes tableaux vraiment très laids et complexes à lire, c'est l'impossibilité de copier par macro des cellules là ou je le veux, même si des lignes ou des colonnes sont déjà en partie remplies.

Je m'explique, j'ai établi un modèle avec divers textes et calculs prévus et je souhaiterais par exemple copier systématiquement telle cellule d'une feuille à un endroit précis de ce modèle. De même je souhaite copier plusieurs cellules à la fois, (le nombre de ligne est variable).

Et je n'y arrive pas, cela fait des mois que je cherche.

J'ai tenté une macro simple pour tester, elle ne fonctionne pas

Ci joint le fichier test, je précise que j'ai mis:
une feuille "idéal" qui représente ce que je veux obtenir
une feuille fiche qui est mon modele
et une feuille dossier (il y en a en réalité plusieurs, différentes dans le contenu mais pas dans la structure
 

Pièces jointes

  • ClasseurTEST.xlsm
    149.2 KB · Affichages: 117
  • ClasseurTEST.xlsm
    149.2 KB · Affichages: 121
  • ClasseurTEST.xlsm
    149.2 KB · Affichages: 122

Victor21

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Bonjour.

Merci de rester dans le même fil.
Pas de réponse : question peut-être imprécise ?
Désirez-vous que Idéal aille chercher les infos toujours au même endroit de la feuille dont le nom se trouve en A9 de Idéal ?
Dans ce cas, utilisez indirect()
Saisie de 1851 en A9 et, par exemple, en E10 :
=INDIRECT($A$9&"!C2")
 

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Bonjour superbog, salut Patrick :)

La solution avec INDIRECT proposée par Patrick convient pourtant très bien.

Seulement il faut inclure dans la formule les guillemets anglais.

Fichier joint : entrez 1851 en A9 de la feuille fiche.

Pour le Relevé des diligences cette macro dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$9" Then
  [H3:K1003].ClearContents
  On Error Resume Next 'si la feuille n'existe pas
  [H3:K1003] = Sheets([A9].Text).[C6:F1006].Value
End If
End Sub
Pour la Facturation provisionnelles effectuées en 2012 à vous de voir, je n'ai pas compris...

A+
 

Pièces jointes

  • Classeur TEST(1).xls
    216.5 KB · Affichages: 79
  • Classeur TEST(1).xls
    216.5 KB · Affichages: 76
  • Classeur TEST(1).xls
    216.5 KB · Affichages: 72

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Re,

Dans la solution précédente j'ai mis une macro pour vous montrer comment faire.

Mais on peut tout faire par formule, voyez en H3 de la feuille fiche :

Code:
=SI(INDIRECT("'"&$A$9&"'!C"&LIGNE()+3)="";"";INDIRECT("'"&$A$9&"'!C"&LIGNE()+3))
Il faut la tirer suffisamment vers le bas.

Fichier (2).

A+
 

Pièces jointes

  • Classeur TEST(2).xls
    214.5 KB · Affichages: 55
  • Classeur TEST(2).xls
    214.5 KB · Affichages: 56
  • Classeur TEST(2).xls
    214.5 KB · Affichages: 57

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Re,

Quand vous êtes sur la feuille d'un dossier avec son nom en A2, touches Ctrl+A pour lancer cette macro :

Code:
Sub fiche()
With Sheets("fiche")
  .[A9] = [A2]
  .Activate
End With
End Sub
Fichier (3).

A+
 

Pièces jointes

  • Classeur TEST(3).xls
    226.5 KB · Affichages: 49
  • Classeur TEST(3).xls
    226.5 KB · Affichages: 51
  • Classeur TEST(3).xls
    226.5 KB · Affichages: 54

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Re,

Des améliorations :

- formules pour Facturation provisionnelles effectuées en 2012 et Règlements reçus en 2012.

- format "Code postal" en E13

- formule en E15 pour le nom du pays :

Code:
=T(SI(INDIRECT("'"&A9&"'!H2")<>"FRANCE";INDIRECT("'"&A9&"'!H2")))
Fichier (4).

A+
 

Pièces jointes

  • Classeur TEST(4).xls
    229 KB · Affichages: 76
  • Classeur TEST(4).xls
    229 KB · Affichages: 73
  • Classeur TEST(4).xls
    229 KB · Affichages: 75
Dernière édition:

superbog

XLDnaute Occasionnel
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

c'est génial merci

encore une question comment par macro rechercher une feuille par le contenu de sa cellule B2

je m'explique, les feuilles portent le numéros des dossiers, mais parfois je préfère chercher par nom de dossier or le nom est dans la cellule B2 de chaque feuille
 

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Bonjour superbog, le fil,

encore une question comment par macro rechercher une feuille par le contenu de sa cellule B2

Dans la feuille fiche on peut entrer soit le n° de dossier en A9 soit le nom en B9.

La macro dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
If Target.Address = "$A$9" Then
  [B9] = ""
  [B9] = Sheets(Target.Text).[B2]
ElseIf Target.Address = "$B$9" Then
  [A9] = ""
  If [B9] <> "" Then
    Dim w As Worksheet
    For Each w In Worksheets
      If w.[B2].Text = [B9].Text Then [A9] = w.Name: Exit For
    Next
  End If
End If
Application.EnableEvents = True
End Sub
Fichier (5).

A+
 

Pièces jointes

  • Classeur TEST(5).xls
    219.5 KB · Affichages: 48
  • Classeur TEST(5).xls
    219.5 KB · Affichages: 51
  • Classeur TEST(5).xls
    219.5 KB · Affichages: 48

superbog

XLDnaute Occasionnel
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Après test, deux petits soucis:
il faudrait que les cellules concernées ne soient recherchées que dans les feuilles ayant un nombre comme nom (car j'ai des feuilles "BD" qui portent des noms en lettres et d'autres "dossiers" qui portent le nombre du dossier sur 4 chiffres (par exemple 1851)
est il possible que la recherche ne soit pas sensible à la casse.
merci d'avance
 

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Re,

Option Compare Text en haut et ajouter IsNumeric(w.Name) And au test.

A+
 

Pièces jointes

  • Classeur TEST(6).xls
    209.5 KB · Affichages: 47

job75

XLDnaute Barbatruc
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

Bonjour superbog,

J'ai regardé les autres fils que vous avez faits.

En fait ce qu'il vous manque ce sont des listes de validation avec les listes des dossiers/feuilles.

Regardez les listes de validation en A9 et B9 de la feuille fiche.

La liste est en feuille Liste et est mise à jour à l'activation de la feuille fiche.

Il y a donc 3 macros dans fiche :

Code:
Private Sub Worksheet_Activate()
'création de la liste des dossiers
Dim w As Worksheet, n As Integer
[Liste].ClearContents 'RAZ
For Each w In Worksheets
  If IsNumeric(w.Name) Then
    n = n + 1
    [Liste].Cells(n, 1) = w.Name
    [Liste].Cells(n, 2) = w.[B2]
  End If
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'tri de la liste
If Target.Address = "$A$9" Then
  [Liste].Sort [Liste].Columns(1), Header:=xlNo
ElseIf Target.Address = "$B$9" Then
  [Liste].Sort [Liste].Columns(2), Header:=xlNo
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
If Target.Address = "$A$9" Then
  [B9] = ""
  [B9] = Sheets(Target.Text).[B2]
ElseIf Target.Address = "$B$9" Then
  Dim i
  [A9] = ""
  i = Application.Match(Target, [Liste].Columns(2), 0)
  [A9] = [Liste].Cells(i, 1)
End If
Application.EnableEvents = True
End Sub
Fichier (7).

Edit : les sauts de lignes du code ne se répercutent pas correctement sur le fil, que se passe-t-il David ???

A+
 

Pièces jointes

  • Classeur TEST(7).xls
    232.5 KB · Affichages: 60
Dernière édition:

superbog

XLDnaute Occasionnel
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

merci job75 et désolée de n'avoir pu vous répondre plus tôt, j'ai été contrainte de m'arrêter un mois, je reprends tout juste. Je vais donc regarder cela.
 

superbog

XLDnaute Occasionnel
Re : macro pour copie des cellules à un endroit précis d'une feuille pré remplie

merci job75 et désolée de n'avoir pu vous répondre plus tôt, j'ai été contrainte de m'arrêter un mois, je reprends tout juste. Je vais donc regarder cela.
 

Discussions similaires

Statistiques des forums

Discussions
314 090
Messages
2 105 711
Membres
109 418
dernier inscrit
LuckyShuri