Euhhh ... données d'une feuille à deux autres

Salut à tous

Alors voila ce que je cherche depuis quelques heures. Ou plutôt depuis 24h mais je me perd completement.

Dans mon classeur ci-joint, dans mon classeur j’ai une feuille qui s’appelle GESTION, une autre fiche consigne, et une autre fiche raccordement.

Dans GESTION, j’ai un tableau où j’ai 20 colonnes soit de A à T. sur 27 lignes pour l'instant. pour agrandir mon tableau je fait une insertion sur la derniere ligne vide du tableau car en ligne 30 j'ai un autre tableau.

Voici le truc de folie que je me suis en tete de faire pour ameliorer mon projet. je vous met pas mes macros, car vous allez vous fichez de moi ... j'ai le cerveau detraqué, et du coup je fait des copiers coller de ce que j'ai deja pu faire dans le genre, mais impossible de m'y retrouver.

En gros :

A chaque nouvelle installation, je remplis une ligne.

Une fois la ligne remplie. Je souhaite cliquer sur un bouton et que la cellule :

D se copie dans la cellule E3 de la fiche consigne

E se copie dans la cellule E8 de la fiche consigne et E10 dans la fiche raccordement

I se copie dans la cellule C14 de la fiche consigne et C15 dans la fiche raccordement.

N se copie dans la cellule D17 de la fiche consigne et D19 dans la fiche raccordement.

O se copie dans la cellule G17 de la fiche consigne et G19 dans la fiche raccordement.

P se copie dans la cellule H21 de la fiche consigne.

C se copie dans la cellule G27 de la fiche consigne.

Aidezzzz moi car j’ai le cerveau qui tourne à 1000 a l’heure, entre les pages internet ouverte où je fait des recherches, 4 classeurs excel d’ouvert, le forum, plus les macros, etc … je crois que je vais me transformer en momie sur mon balcon avec ce froid. (obliger car un fumeur sur excel est obliger de fumer quand il cherche des trucs trop dur à faire pour lui lol) et avec mon bébé de 14 mois je ne peux fumer chez moi

MAGNIFIQUE tu es vraiment au top Banzai merciiiiiii !!

Par contre quand je recopie, ca me copie bien la derniere ligne, mais de mon 2e tableau, et moi je souhaite que ca me recopie celle du 1er tableau uniquement.

Bonsoir

Quel 2ème tableau ?

Dans la page un seul tableau ou j'ai l'ai raté

A tester

Modifie le début de la macro

  Set F1 = Sheets("fiche consigne")
  Set F2 = Sheets("fiche raccordement")
If Range("A3") <> "" Then
    Ligne = Range("A2").End(xlDown).Row
  Else
    MsgBox "Tableau vide"
    Exit Sub
  End If
    F1.Range("E3") = Range("D" & Ligne)

en faite sur mon fichier d'origine, j'ai le meme tableau identique en dessous du 1er.

A chaque operation qui se termine, je coupe la ligne du 1er tableau et l'insert dans le 2e.

La macro doit prendre en consideration uniquement le 1er tableau? c'est faisable?


je modifie celui ci

Dim Ligne As Long
Dim F1 As Worksheet, F2 As Worksheet

  Set F1 = Sheets("fiche consigne")
  Set F2 = Sheets("fiche raccordement")

  Ligne = Range("A" & Rows.Count).End(xlUp).Row
  F1.Range("E3") = Range("C" & Ligne)
  F1.Range("E8") = Range("E" & Ligne)
  F1.Range("C14") = Range("I" & Ligne)
  F1.Range("D17") = Range("N" & Ligne)
  F1.Range("G17") = Range("O" & Ligne)
  F1.Range("H21") = Range("P" & Ligne)
  F1.Range("G27") = Range("C" & Ligne)
  F1.Range("E9") = Range("F" & Ligne)

  F2.Range("E10") = Range("E" & Ligne)
  F2.Range("C15") = Range("I" & Ligne)
  F2.Range("D19") = Range("N" & Ligne)
  F2.Range("G19") = Range("O" & Ligne)
  F2.Range("E11") = Range("F" & Ligne)

par celui ci ?

Dim Ligne As Long

Dim F1 As Worksheet, F2 As Worksheet

Set F1 = Sheets("fiche consigne")

Set F2 = Sheets("fiche raccordement")

If Range("A3") <> "" Then

Ligne = Range("A2").End(xlDown).Row

Else

MsgBox "Tableau vide"

Exit Sub

End If

Ligne = Range("A" & Rows.Count).End(xlUp).Row

F1.Range("E3") = Range("C" & Ligne)

F1.Range("E8") = Range("E" & Ligne)

F1.Range("C14") = Range("I" & Ligne)

F1.Range("D17") = Range("N" & Ligne)

F1.Range("G17") = Range("O" & Ligne)

F1.Range("H21") = Range("P" & Ligne)

F1.Range("G27") = Range("C" & Ligne)

F1.Range("E9") = Range("F" & Ligne)

F2.Range("E10") = Range("E" & Ligne)

F2.Range("C15") = Range("I" & Ligne)

F2.Range("D19") = Range("N" & Ligne)

F2.Range("G19") = Range("O" & Ligne)

F2.Range("E11") = Range("F" & Ligne)

Bonjour

Non tu as la ligne

Ligne = Range("A" & Rows.Count).End(xlUp).Row

en trop

super ca fonctionne à merveille.

merci a toi Banzai

Voici le fichier en pièce jointe, j'ai inserer un formulaire en userforme1 qui me permet de remplir la prochaine ligne vide de mon 1er tableau. Peut tu m'aider quand tu aura un moment à faire correspondre les cellules du formulaire au cellule de mon tableau.

merci d'avance.

Bonjour

Quand ce n'est plus le même sujet ouvre un autre post

A tester

Oupsss ok désolé.

Ca fonctionne parfaitement. tu es trop fort, banzai, je ne sais pas comment tu fait pour reussir à répondre quasi sans faute. tu as admirable !!

Par contre quand je fait un copier coller du bouton, sur une autre feuille ca ne fonctionne pas?

Bonjour

pouns94 a écrit :

Par contre quand je fait un copier coller du bouton, sur une autre feuille ca ne fonctionne pas?

Il faut copier la macro associée au bouton et refaire la liaison bouton -->macro dans le nouveau classeur

Bon decidement, lol

J'ai clik droit sur le bouton, je l'ai copier sur la feuille qui s'appelle accueil, j'ai reafecter la macro.

je clique sur ajouter, et ca ne s'ajoute pas

Bonjour

A vérifier

Alors sur ton classeur ca fonctionne, mais quand j'integre la macro dans mon classeur originale, ca ne fonctionne pas, pourtant je fait bien attention au nom des onglets.

Est-ce que l'ordre des onglets à une importance?

Bonjour

pouns94 a écrit :

Est-ce que l'ordre des onglets à une importance?

Aucune importance dans ce cas

Fournis le fichier en cause

Private Sub CommandButton1_Click()
Dim Ligne As Long

  If Trim(Me.TextBox1) = "" Then
    MsgBox "Numéro obligatoire"
  ElseIf Not IsDate(Me.TextBox9) Then
    MsgBox "Date non conforme"
    Me.TextBox9 = ""
    Me.TextBox9.SetFocus
  Else
    If Range("A3") <> "" Then
      Ligne = Range("A2").End(xlDown).Row + 1
    Else
      Ligne = 3
    End If
    Range("A" & Ligne) = Me.TextBox1.Value         ' Numéro
    Range("B" & Ligne) = Me.TextBox2.Value         ' Nom
    Range("C" & Ligne) = Me.TextBox3.Value         ' Client
    Range("D" & Ligne) = Me.TextBox4.Value         ' Code
    Range("E" & Ligne) = Me.TextBox5.Value         ' Lieu
    Range("F" & Ligne) = Me.TextBox6.Value         ' Code postal et Ville
    Range("G" & Ligne) = Me.TextBox7.Value         ' Tarif
    Range("H" & Ligne) = Me.TextBox8.Value         ' Nombre IR
    Range("I" & Ligne) = CDate(Me.TextBox9.Value)  ' Date
    Range("N" & Ligne) = Me.TextBox10.Value        ' Jour de protection
    Range("O" & Ligne) = Me.TextBox11.Value        ' Heure MES/MHS
    Range("P" & Ligne) = Me.TextBox12.Value        ' Code client
    Range("Q" & Ligne) = Me.TextBox13.Value        ' Code accès
    Range("R" & Ligne) = Me.TextBox14.Value        ' Contact
    Range("S" & Ligne) = Me.TextBox15.Value        ' Téléphone
    Range("T" & Ligne) = Me.TextBox16.Value        ' Email
    End If

  Set Ws = Sheets("GESTION CHANTIER")

Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet

  Set F1 = Sheets("fiche consigne")
  Set F2 = Sheets("fiche raccordement")
  Set F3 = Sheets("GESTION CHANTIER")

  If F3.Range("A3") <> "" Then
    Ligne = F3.Range("A2").End(xlDown).Row
  Else
    MsgBox "Tableau vide"
    Exit Sub
  End If
F1.Range("E3") = Range("C" & Ligne)
F1.Range("E8") = Range("E" & Ligne)
F1.Range("C14") = Range("I" & Ligne)
F1.Range("D17") = Range("N" & Ligne)
F1.Range("G17") = Range("O" & Ligne)
F1.Range("H21") = Range("P" & Ligne)
F1.Range("G27") = Range("C" & Ligne)
F1.Range("E9") = Range("F" & Ligne)

F2.Range("E8") = Range("D" & Ligne)
F2.Range("E10") = Range("E" & Ligne)
F2.Range("C15") = Range("I" & Ligne)
F2.Range("D19") = Range("N" & Ligne)
F2.Range("G19") = Range("O" & Ligne)
F2.Range("E11") = Range("F" & Ligne)

  Unload Me

End Sub

Private Sub CommandButton2_Click()
    Unload Me
End Sub

Private Sub UserForm_Click()

End Sub

je crois que Private Sub UserForm_Click() End Sub ne sert à rien, et le Unload Me en dessous de F2. est mal placé. il sert à fermer le formulaire lorsque je cliquer sur ajouter

Bonjour

1) Ce n'est pas un fichier

2) Ce n'est pas le dernier code fourni

Oui effectivement j'ai modifier le code.

j'ai tenté de reunir la macro recopie dans la macro ajouter.

J'ai tenté aussi de fermé le formulaire lorsque je clique sur ajouter.

j'ai aussi tenté de fermé le formulaire quand je clique sur quitter.

mais je me suis bien planté lol

voici le fichier fonctionnel

quand je clique sur AJOUTER j'aimerais rajouter cette macro automatique (ca m'evite d'avoir le bouton recopie)

Dim Ligne As Long
Dim F1 As Worksheet, F2 As Worksheet, F3 As Worksheet

  Set F1 = Sheets("fiche consigne")
  Set F2 = Sheets("fiche raccordement")
  Set F3 = Sheets("GESTION CHANTIER")

  If F3.Range("A3") <> "" Then
    Ligne = F3.Range("A2").End(xlDown).Row
  Else
    MsgBox "Tableau vide"
    Exit Sub
  End If
  F1.Range("E3") = F3.Range("C" & Ligne)
  F1.Range("E8") = F3.Range("E" & Ligne)
  F1.Range("C14") = F3.Range("I" & Ligne)
  F1.Range("D17") = F3.Range("N" & Ligne)
  F1.Range("G17") = F3.Range("O" & Ligne)
  F1.Range("H21") = F3.Range("P" & Ligne)
  F1.Range("G27") = F3.Range("C" & Ligne)
  F1.Range("E9") = F3.Range("F" & Ligne)

  F2.Range("E8") = F3.Range("D" & Ligne)
  F2.Range("E10") = F3.Range("E" & Ligne)
  F2.Range("C15") = F3.Range("I" & Ligne)
  F2.Range("D19") = F3.Range("N" & Ligne)
  F2.Range("G19") = F3.Range("O" & Ligne)
  F2.Range("E11") = F3.Range("F" & Ligne)

Bonjour

Une autre façon de faire ce que tu veux

merveilleux !! perfecto !!

Dernier point avant que je le passe en résolu.

Quand je clique sur ajouter je souhaite qu'il m'enregistre la fiche consigne et la fiche raccordement dans deux fichier distinct et en deux format.

XLSM et PDF.

Bonjour

Ce code je te l'ai déjà fait

https://forum.excel-pratique.com/excel/enregistrer-sous-feuille-active-seulement-t73450.html

Je ne vais pas tout recommencer

Rechercher des sujets similaires à "euhhh donnees feuille deux"