Remplir un tableau avec données dans un autre onglet

Bonjour,

Pour meilleur compréhension, je joint un fichier.

Bonne réception.

Cordialement.

12excel-pratique.xlsm (46.82 Ko)

Bonjour Bejouette

Il n'y a absolument aucun code dans votre fichier, juste votre demande

Je pense que vous faite erreur... les bénévoles de ce forum ne sont pas là (en général) pour faire à votre place

Il existe un tas de tutos et de codes sur la toile

Cherchez, trouvez, créez et revenez nous voir pour peaufiner

Merci de votre compréhension

Bonjour BrunoM45

Il va de soit qu'avant de faire cette demande sur le forum, j'ai essayé de me débrouiller tout seul.

Mais je bloque comme sur ce genre de formule qui ne reconnait pas: listrows

Sub RECAPITULATIF_Bouton2_Cliquer()
'
' RECAPITULATIF_Bouton2_Cliquer Macro
'
    Sheets("RECAPITULATIF").ListObjects ("SOUSTRAC")

    If .ListRows.Count = "" Then
    .ListRows.Add: Lig = 1
    Else: .ListRows.Add Position:=1: Lig = 1  'insérer a la 1igne 1

    With .DataBodyRange

'
End Sub

Bonjour bejouette

C'est déjà mieux que rien la prochaine fois, joignez nosu le fichier avec le code SVP

En développement lorsque qu'on utilise le "." point, il fait référence à l'objet conteneur définti par "With"

Or là, dans votre code vous n'avez aucun "With" d'indiqué, essayez plutôt ceci

Sub RECAPITULATIF_Bouton2_Cliquer()
' RECAPITULATIF_Bouton2_Cliquer Macro
'
  With Sheets("RECAPITULATIF").ListObjects ("SOUSTRAC")
    With .DataBodyRange
      If .ListRows.Count = 0 Then
        .ListRows.Add: Lig = 1
      Else
        .ListRows.Add Position:=1: Lig = 1  'insérer a la 1igne 1
      End If
    End With
  End With
End Sub

A+

Bonjour

Merci de votre réponse.

J'ai essayé avec votre instruction mais il bloque sur

     If .ListRows.Count = "" Then

message:

propriété ou méthode non gérée par cet objet

Bonne réception.

Re,

Arf oui désolé, j'ai laissé la coquille

Cette ligne ne peut vous renvoyer qu'un nombre, donc le comparer à un texte... pas bon

Plutôt

If .ListRows.Count = 0 Then

ou similaire

A+

Re

C'est pareil. Blocage au même endroit.

Avec le même message.

Re,

Je fais ça à l'arrache et du coup effectivement

En définissant les variables et objets correctement, on comprend mieux avec l'autocomplétion de VBA Ppoject
on peut insérer :

image

En revanche avec DataBodyRange, on s'aperçois que l'on a seulement

image

Donc le bon code est

Sub Recapitulatif()
  Dim Lig As Long
  Dim LstObj As ListObject

  Set LstObj = Sheets("RECAPITULATIF").ListObjects("SOUSTRAC")
  With LstObj
    If .ListRows.Count = 0 Then
      .ListRows.Add: Lig = 1
    Else
      .ListRows.Add Position:=1: Lig = 1         'insérer a la 1igne 1
    End If
  End With
End Sub

J'espère que cela vous permettra de comprendre un peu mieux le développement objet

A+

Re

SUPER

IMPECCABLE

Je suis bien dépanné.

En vous remerciant.

En revanche il y a une instruction que je n'arrive pas à trouver:

faire le test lorsque la date change.

Cordialement.

Re

j'ai bien une ligne vide qui s'incrémente sur mon tableau.

Mais je n'arrive pas à récupérer les données à mettre dans le tableau.

Je bloque sur

        With .DataBodyRange

message:

référence incorrecte ou non qualifiée

j'ai essayé

        With .ListObjects("SOUSTRAC")

message:

référence incorrecte ou non qualifiée

  With .LstObj("SOUSTRAC")

message:

référence incorrecte ou non qualifiée

Cordialement.

Rechercher des sujets similaires à "remplir tableau donnees onglet"