Formule Vba

guismo33 Messages postés 403 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour, a tous,

J'ai un tableau ou je mets des résultat et je voudrais avec un bouton pouvoir
les recopier sur une autre feuilles .
petit fichier

merci a vous

bien à vous
Classeur1.xlsm
Le lien a été crée : https://www.cjoint.com/c/HFfoVFuAdBS

4 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    déclenchement par clic droit de la souris en B10

    Option Explicit
    '---------------------------------
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Dim Piste As Byte
    If Target.Address = "$B$10" Then
    Piste = Range("B10").Value
    With Sheets("resulta")
    .Cells(2, Piste + 1).Resize(4, 1) = Sheets("Debut").Range("B11:B14").Value
    .Activate
    End With
    End If
    End Sub


    macro à copier dans le module feuille "debut"
    0
    1. guismo33 Messages postés 403 Statut Membre 2
       
      Bonjour, merci cela fonctionne je vous remercie
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    https://www.cjoint.com/c/HFfpqj24oSB

    Cdlmnt
    0
    1. guismo33 Messages postés 403 Statut Membre 2
       
      Bonjour,
      je vous remercie pour le travail inpecable

      bien à vous
      0
    2. guismo33 Messages postés 403 Statut Membre 2
       
      Bonjour,
      je viens d'adapter votre formule a mon fichier, petit soucis c'est que j'ai des formule dans les cellules a recopier.
      est-il possible de recopier juste le chiffre et pas la formule?

      merci a vous
      0
  3. danielc0 Messages postés 2181 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

    Essaie :

    Sub Copie()
    Dim Col As Variant, Plage As Range
    With Sheets("Debut")
    Col = Application.Match(.[B10], [Resulta!1:1], 0)
    If IsNumeric(Col) Then
    Set Plage = .Range("B11", .Cells(.Rows.Count, 2).End(xlUp))
    Plage.Copy Sheets("Resulta").Cells(2, Col)
    End If
    End With
    End Sub


    Cordialement.

    Daniel
    0
    1. guismo33 Messages postés 403 Statut Membre 2
       
      Bonjour,
      merci , je vais essayer

      bien à vous
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Tu modifies comme ça

      Set plage = .Range(co & lideb & ":" & co & lifin)
      plage.Copy
      Sheets(FB).Range(adrobj).Offset(1, 0).PasteSpecial Paste:=xlValues

    Tu avais aussi la solution de Michel (salut en passant) plus "légère" qui ne copiait que les valeurs.

    Cdlmnt
    0