Copie de donnée selon un onglet

Bonjour à Toutes et à Tous,

Je cherche un code macro permettant de mettre à jour une base de donnée en fonction de différentes fiches (onglets avec numéro).

Explications :

  • j'ai un onglet de "saisie" où l'utilisateur renseigne des données, une fiche se crée et la base est alimenté (jusqu'ici je m'en suis sortie)
  • un onglet "base" qui reprend ces données
  • différents onglet portant le numéro de la fiche avec le détail.

Là ou je coince c'est lorsque l'utilisateur revient sur une fiche (par exemple n°3), je souhaiterai que les données se mettent à jour dans l'onglet "base" associé bien sûr à la ligne de la fiche n°3.

Je pense que c'est tout con mais pour moi ça l'est moins.

Fichier joint ("aléger") pour plus de facilité.

Merci pour votre aide

13niko.zip (11.36 Ko)

Bonjour

essayes cette macro

Option Explicit

Sub Miseàjour()
Dim Cel As Range

  With Sheets("Base")
    Set Cel = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(what:=Range("C4"), LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
      Range("ligne").Copy Destination:=Cel.Offset(0, 1)
    Else
      MsgBox "Numéro " & Range("C4") & " de fiche introuvable dans la base"
    End If
  End With
End Sub

Bonjour,

Ca fonctionne et c'est l'idée que je voulais obtenir, il ne me reste plus qu'à l'adapter dans mon fichier.

Merci encore Banzai64, toujours aussi efficace.


Bonjour,

Ca fonctionne et c'est l'idée que je voulais obtenir, il ne me reste plus qu'à l'adapter dans mon fichier.

Merci encore Banzai64, toujours aussi efficace.

P'tit Bug,

J'ai le message d'erreur suivant qui apparaît suite au lancement de la macro ainsi que la ligne surligné :

Erreur d'éxecution 1004 : impossible de modifier une cellule fusionnée

Range("ligne2").Copy Destination:=Cel.Offset(0, 1)

je n'ai ni dans la base, ni dans la partie fiche de cellule fusionnée, vers quoi renvoi la partie "Cel.offset(0,1)" ça doit être ce point qui bloque.

Bonsoir

Pour juger il faudrait ton fichier qui te génère cette erreur, car sinon cela ne va pas être évident de trouver le pourquoi du comment

A te lire

Bonjour,

C'est bon, j'ai trouvé mon erreur, je renvoyais vers le mauvais onglet qui avait des cellules fusionnées.

Par contre les données copiez dans la base une fois action sur "Mise à jour" apparaissent en #REF, erreur dans la copie, pourquoi?

J'ai un autre bug, lors de la création d'une fiche je veux créer deux boutons sur cette fiche relié à deux macros différentes, il me crée bien deux boutons mais ils sont rattachés à la même macro, je ne trouve pas comment dissocier lesd eux boutons, problème à partir de "With Active.Buttons" je pense.

Merci de ton aide.

17niko.zip (132.53 Ko)

Salut à Tous,

j'ai trouvé pour pouvoir copier des cellules faisant référence à d'autre cellule lié par une formule (somme, etc...) :

Sub Miseàjour()

Dim Cel As Range

ActiveSheet.Tab.Color = RGB(0, 255, 0)

Range("ligne").Copy

With Sheets("Base")

Set Cel = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(what:=Range("C4"), LookIn:=xlValues, lookat:=xlWhole)

If Not Cel Is Nothing Then

Range("ligne").PasteSpecial Paste:=xlPasteValues

Range("ligne").Copy Destination:=Cel.Offset(0, 1)

Else

MsgBox "Numéro " & Range("C4") & " de fiche introuvable dans la base"

End If

End With

End Sub

Finalement en cherchant on trouve

Je vais reposter un message conercant la création de deux boutons par macro avant que je ne trouve tout seul

Rechercher des sujets similaires à "copie donnee onglet"