Ecrire dans la première ligne vide d'un tableau

Bonjour,

j'ai ré-utilisé une formule donnée sur ce forum dans un nouveau fichier, je n'arrive pas à écrire dans la première ligne vide

le choix est aléatoire !

concernant la comparaison et l'écriture sur la ligne existante, cela semble fonctionner

y a t'il des évolutions sous excel 2010, ou est ce un problème autre ?

la ligne incriminée en couleur dans la macro ci dessous

merci de votre aide

Sheets("TRANSFERT").Select

Range("A1:L1").Select

Selection.PasteSpecial Paste:=xlPasteValues

Range("A3") = Range("A1") 'extraire la ref ligne et comparer à la liste

Range("D3") = "=MATCH(A3,LISTE!A:A,1)"

If IsError(Range("D3")) Then 'la ref n'existe pas,

'alors recherche premiere ligne vide

Range("A1:L1").Copy Destination:=[liste!A1048576].End(xlUp)(2)

Else

Lg = Range("D3") 'ref existe, d3=la variable du n° de ligne

Range("A1:L1").Copy Destination:=Range("LISTE!A" & Lg) 'remplace la ligne désignée par nouvelle valeur

End If

Application.CutCopyMode = False

'effacement des données de transfert

Sheets("TRANSFERT").Select

Range("A1:L3").ClearContents

Sheets("LISTE").Select

Range("A1").Select

'refermer fichier actif'statistique' et enregistrer

ActiveWorkbook.Save

ActiveWindow.Close

Bonjour,

Ton code pourrait être amélioré sur le montrait entièrement ou si tu mettais ton fichier

Sinon essaie ceci :

Range("A1:L1").Copy Sheets("Liste").Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1)

Si ok, merci de cliquer sur le V vert pour cloturer le fil

Amicalement

bonjour,

merci de ta réponse

je viens de mettre les deux fichiers en ligne

j'ouvre la liste à partir d'un lien hypertexte au pied de chaque fiche

j'ai imaginé en attendant une réponse que le format du nom de ma fiche était en cause, j'utilise un séparateur /

j'ai changé pour _, à priori sans résultat

j'ai pu observé que si je valide la fiche 1, elle s'enregistre correctement en ligne 23

la fiche 2 en ligne 24

la fiche 3 écrase la ligne 24...

merci de ton aide


je joins le second fichier, je n'ai pas du valider avant d'envoyer ma réponse


j'ai mis deux fois le même

l'apprentissage est le fruit de nombreuses erreurs !!!!!!!!!!!!!!!!

Bonjour

Il me semble que tu vérifies si la référence existe

Si oui tu écris dans la même ligne

Si non tu rajoutes à la fin

Pour moi la formule de recherche devrait être

Range("D3") = "=MATCH(A3,LISTE!A:A,0)"

Et pour écrire à la suite je mettrais

Range("A1:L1").Copy Destination:=Sheets("Liste").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)

A vérifier

merci , ceci fonctionne bien.

Je clôture le sujet, il est résolu. Encore merci à votre entraide.

bonjour

mes besoins ont évolué, je souhaite transcrire une série de ligne, mais ligne à ligne sur le même principe que la version précédente

ceci donne :

n° code imput sem nom dossier activité

1 1874_1_23_EMERY 1874 23 EMERY Hôpital Mulhouse Risk review

2 1875_2_23_EMERY 1875 23 EMERY Carrefour Lievin Promotion / communication / expositions Salons / mailing

3 1900_3_23_EMERY 1900 23 EMERY SNCF ST Lazare 75009 Paris Réaliser les études de Projet

4 1901_4_23_EMERY 1901 23 EMERY IntermarchéVerneuil sur Avre Réaliser les études Hardeware

je numérote les lignes, cela peu servir

je crée un code unique en concaténant un n° dossier_n°ligne_n° semaine_nom

ceci est un fichier de pointage individuel, une personne peut pointer dans la même semaine sur le même n° dossier, mais pour deux activités différentes ( le tableau réel a 30 colonnes et 16 lignes)

ceci est un document individuel, je dois regrouper les documents individuels de 10 personnes sur un seul dossier excel

la formule précédente me permet de transférer une ligne et de contrôler si le transfert n'a pas déja été effectué ( pas de doublon)

je souhaite transférer ligne à ligne, pour opérer le contrôle

comment faire évoluer les formules précédentes pour ce faire, merci de vos réponses

Rechercher des sujets similaires à "ecrire premiere ligne vide tableau"