Selectionner dernier numero+1 dans une liste

Bonjour
J’aimerais afficher dans le dossier A, cellule (A3) le dernier numéro +1 d’une liste qui se trouve dans le dossier B, Feuil1,Liste : LNumero
ex : dossier A : C:\mes documents\MATRICE_TEST.xlsm\ cellule (A3)
dossier B : C:\mes documents\JOURNAL.xlsm\ colonne A, dernier numero+1

Avec un clic sur le bouton “Prochain Numéro”

MATRICE_TEST.xlsm (15,0 Ko)
JOURNAL .xlsm (12,1 Ko)

Merci pour votre aide

Bonjour,

pas besoin de macro on peut faire automatique avec la formule de calcul suivante :
=MAX(’[JOURNAL .xlsm]Feuil1’!$A$2:$A$96)+1

Attention ton fichier JOURNAL doit être ouvert.

Salut

A essayer cette ligne de code :

Range(“A3”) = Workbooks(“JOURNAL (1).xlsm”).Sheets(“Feuil1”).Range(“A65535”).End(xlUp) + 1

Attention à modifier le nom du classeur et de la feuille si ils devaient être modifiés

J’espère que cela convient

Merci pour ta réponse FFO

J’ai essayé, comment peut-il trouver WorkBook(“JOURNAL”)?
faut-il déclarer la variable?
je n’y arrive pas
Dany

Workbooks(“JOURNAL (1).xlsm”). Est le nom de ton classeur qui porte les numéros que le code va chercher pour afficher le suivant ce classeur doit impérativement être ouvert au moment de la exécution de la macro

Ca me le mets en jaune
j’ai une erreur

pour info : Les deux fichiers sont ouverts

Quel est le nom exact de ton fichier qui porte les numeros?
Quel le nom exact de son onglet porteur de ces numeros
Ces 2 classeurs sont ils ouverts par le même Excel?

Fichier Actif (A) : cellule (“A3”)
F:\Documents\04.INFORMATIQUE\06.EXCEL_COURS\MATRICE_TEST.xlsm’!Liste

Fichier de données (B) : Range (“A1:A65535”)
F:\Documents\04.INFORMATIQUE\06.EXCEL_COURS\JOURNAL .xlsm’!Numeros

Les deux fichiers sont ouverts avec le même Excel (à partir du fichier : A)

Pour info : j’ai changé les valeurs et j’ai ré-essayé

(“JOURNAL(1).xlsm”) j’ai enlevé le (1) pour essayer : même prob.

Tu peux mettre dans une nouvelle macro ces lignes de codes :
For i = 1 to workbooks.count
Range (“G”&i) = Workbooks (i).name
Next
Tu ouvres tes 2 classeurs
A partir du classeur dans lequel tu as mis cette nouvelle macro tu l executes
En colonne G de ce classeur tu auras listé le nom de tous les classeurs ouverts
Verifies celui que l’on cherche et éventuellement tu le corriges dans cette ligne

Range(“A3”) = Workbooks(“JOURNAL (1).xlsm”).Sheets(“Feuil1”).Range(“A65535”).End(xlUp) + 1

Sinon c est le nom de la onglet qui pose soucis :
Sheets(“Feuil1”).
A vérifier

Lorsque j ai testé cette ligne de code avec tes fichiers je n ai pas eu de difficulté
L important c est d utiliser les noms exacts pour que cela fonctionne
La ligne de code est correct juste les noms à bien intégrer

Regardes et dis moi

Ton onglet comment se nomme t il?
Dans ma ligne de code j ai utilisé Feuil1
J ai L impression que tu me parles d un onglet Numéro ici :
F:\Documents\04.INFORMATIQUE\06.EXCEL_COURS\JOURNAL .xlsm’!Numeros
Qu en est il?

Oui j’ai remarqué cette erreur, j’ai tout changé, c’est juste maintenant
c’est bien l’onglet : Numeros
je peux t’envoyer les 2 fichiers?
je ne m’en sort pas

MATRICE_TEST.xlsm (21,2 Ko) JOURNAL .xlsm (12,1 Ko)

Oui tu peux M envoyer tes 2 fichiers mais je ne pourrais essayer que demain je suis sur ma tablette mon PC est éteint
Maintenant il suffit de bien alimenter les noms :

Le classeur ici Workbooks(“JOURNAL (1).xlsm”).
L onglet qui porte les numéros ici Sheets(“Feuil1”)

Avec ce code en colonne G du classeur actif à l ecran tous classeurs ouverts tu recuperes le bon nom de classeur qui contient les numéros :

For i = 1 to workbooks.count
Range (“G”&i) = Workbooks (i).name
Next

Reste le bon nom de l onglet qui possède les numéros

Et de correctement porter ces noms dans la ligne de code :

Range(“A3”) = Workbooks(“JOURNAL (1).xlsm”).Sheets(“Feuil1”).Range(“A65535”).End(xlUp) + 1

Pour un onglet appelé Numéros je corrige ainsi :

Range(“A3”) = Workbooks(“JOURNAL (1).xlsm”).Sheets(“Numéros”).Range(“A65535”).End(xlUp) + 1

A toi de voir si ç est dans tes possibilités sinon donnes moi tes fichiers demain

ok je vais essayer mais je suis pas sûr de comprendre.
je t’ai déjà envoyé les fichiers, moi aussi je quitte maintenant.
je te remercie bcp pour ton aide, c’est vraiment dur la VBA j’aurais jamais pensé!!!
pourant je travaille sur TopSolid et Autocad qui sont déjà très compliqués à maîtriser.
A demain et encore merci
Dany

Bonjour

J’ai récupéré tes fichiers

Les noms a utiliser sont :

Workbooks(« JOURNAL .xlsm »)
Sheets(« Numeros »)
Ce qui donne cette ligne :

Range(« A3 ») = Workbooks(« JOURNAL .xlsm »).Sheets(« Numeros »).Range(« A65535 »).End(xlUp) + 1

Qui fonctionne parfaitement chez moi

Essai avec ces classeurs que j’ai adapté ci-après en les ayant ouverts tous les 2 au préalable

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

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

Attention dans tes codes que tu as tenté de modifier avec mes propositions les noms sont entourés avant et après de double cotes erronées il faut les supprimer dans Excel et les retaper pour les avoir corrects (double cotes de la touche clavier 3)

Sinon fais des tests avec les fichiers que je te transmet ci-dessus et dis moi

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.