Code vba pour que des cellules portent la même valeur

Résolu
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -  
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, les amis

Pour me faciliter l'exploitation de ma base de donnée dans mes statistiques j'ai regroupé plusieurs tableaux les un sous les autres mais il me faut ajouter un code vba dans ma macro pour que pour chaque tableau : par exemple la valeur J12 sois copiée sur la plage G17:G26 F12 sois copiée sur la plage F17:G26 C12 sois copiée sur la plage E17:E26 et ainsi de suite pour tous les tableaux

voila une image de ma feuille et merci d'avance:



Configuration: Windows / Chrome 71.0.3578.98
A voir également:

2 réponses

danielc0 Messages postés 1858 Date d'inscription   Statut Membre Dernière intervention   231
 
Bonjour,

Est-ce que tu veux une copie simple ou une copie spéciale valeurs ?

Daniel
0
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   4
 
En effet ces valeurs changent pour chaque tableau , je crois qu'un copier coller rencontrera des problèmes car quelques cellules sont fusionnés
0
danielc0 Messages postés 1858 Date d'inscription   Statut Membre Dernière intervention   231 > noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention  
 
Est-ce que tu peux mettre ton classeur, sans données confidentielles, sur OneDrive, DropBox, CJoint.com, mon-partage.fr ou sur un autre site de partage et poster le lien correspondant ?

Daniel
0
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   4
 
Voila le lien du classeur et merci :
https://www.cjoint.com/c/IAgpyK7rOVp
0
danielc0 Messages postés 1858 Date d'inscription   Statut Membre Dernière intervention   231
 
Essaie la macro :

Sub Copie()
  Dim C As Range, Ligne As Long, Res As Variant, Res1 As Variant, Res2 As Variant
  Ligne = [J1:J10000].Find("*", [J10000], , , xlByRows, xlPrevious).Row
  For Each C In Range("J1", Cells(Rows.Count, 10).End(xlUp))
    If C.Value <> "" And C.Offset(, -1) = "" And C.Offset(, -2) = "" Then
      Res = C.Value
      Res1 = C.Offset(, -7).Value
      Res2 = C.Offset(, -4).Value
    ElseIf C.Row <= Ligne And C.Offset(, -3) = "" And C.Value <> "" And IsNumeric(C.Value) Then
      C.Offset(, -3) = Res
      C.Offset(, -5) = Res1
      C.Offset(, -4) = Res2
    End If
  Next C
End Sub


Daniel
0
noe2008 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci danielc0 ça marche très bien
0