Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MIKEFLY62

XLDnaute Junior
Bonjour a tous,

pourriez vous revoir le debut de mon code pour le passer de base de donné fixe (300000 Lignes) à une base de donné dynamique etant donné que ma base evolue souvent (ajout suppression lignes)

Je sais que le code est du type "Range("A100000").End(xlUp).Row" car la reference est la colonne mais je n'arrive pas a construire le code.

D avance merci pour votre aide

Voici le debut de mon code:

Private Sub CommandButton1_Click()

If CommandButton1.BackColor = &HFF& Then
CommandButton1.BackColor = &HFF0000
Else
CommandButton1.BackColor = &HFF&
End If
ActiveWorkbook.Names.Add Name:="boite", RefersToR1C1:="=base!R2C17:R300000C17"
ActiveWorkbook.Names.Add Name:="carton", RefersToR1C1:="=base!R2C18:R300000C18"
ActiveWorkbook.Names.Add Name:="reference", RefersToR1C1:="=base!R2C12:R300000C12"
ActiveWorkbook.Names.Add Name:="emplacement", RefersToR1C1:="=base!R2C14:R300000C14"
ActiveWorkbook.Names.Add Name:="niveau", RefersToR1C1:="=base!R2C15:R300000C15"


Sheets("inventaire").Range("B9").FormulaR1C1 = "=SUMPRODUCT((boite=R1C2)*(niveau=R3C2)*(boite=""""))"
 
Re : Aide Code VBA

Bonjour,

Tu peux tester ceci:
Code:
Dim DerLigne As Long
DerLigne = Sheets("base").Cells(Application.Rows.Count, 17).End(xlUp).Row
ActiveWorkbook.Names.Add Name:="boite", RefersToR1C1:=Replace("=base!R2C17:R?C17", "?", DerLigne)
ActiveWorkbook.Names.Add Name:="carton", RefersToR1C1:=Replace("=base!R2C18:R?C18", "?", DerLigne)
ActiveWorkbook.Names.Add Name:="reference", RefersToR1C1:=Replace("=base!R2C12:R?C12", "?", DerLigne)
ActiveWorkbook.Names.Add Name:="emplacement", RefersToR1C1:=Replace("=base!R2C14:R?C14", "?", DerLigne)
ActiveWorkbook.Names.Add Name:="niveau", RefersToR1C1:=Replace("=base!R2C15:R3.C15", "?", DerLigne)

pourquoi ne pas créer ces noms dans l'interface excel avec une fonction décaler et Equiv?

A+
 
Re : Aide Code VBA

Bonjour Mikefly, bonjour le forum,

essaie comme ça :
Code:
With Sheets("Base")
    .Range("L2:L" & Cells(Application.Rows.Count, 12).End(xlUp).Row).Name = "reference"
    .Range("N2:N" & Cells(Application.Rows.Count, 14).End(xlUp).Row).Name = "emplacement"
    .Range("O2:O" & Cells(Application.Rows.Count, 15).End(xlUp).Row).Name = "niveau"
    .Range("Q2:Q" & Cells(Application.Rows.Count, 17).End(xlUp).Row).Name = "boite"
    .Range("R2:R" & Cells(Application.Rows.Count, 18).End(xlUp).Row).Name = "carton"
End With

[Édition]
Bonjour hasco on s'est croisé
 
Re : Aide Code VBA

Re bonjour,et merci pour votre reponse rapide

après essai, la version de HASCO à premiere vu n'aime pas les vides present dans certaines colonnes et ne calcule pas comme elle devrait le faire jusqu'a la fin sans tenir compte de ces fameuses cellules vides d'ou l'interet a mon avis de prendre en reference la colonne A qui elle dans mon fichier ne dispose d'aucun vide du debut a la fin.

La version de Robert que j'ai modifié pour ActiveWorkbook.Names.Add Name:="niveau", RefersToR1C1:=Replace("=base!R2C15:R3.C15", "?", DerLigne) car il y avait un erreur de frappe "R3.C15" que j'avais capté a l'air de fonctionné même avec les vides.je la solicite encore.....

Ma question a HASCO est il possible de modifier le code proposé une nouvelle fois afin d'accepter les vides et prendre en reference la colonne A qui elle n'a pas de vide dans ma base.

Merci encore @ vous
 
Re : Aide Code VBA

Bonjour le fil, bonjour le forum,

Oui, tu as bien compris, si tu met 1 ça te donera la dernìere cellule éditée de la colonne A.
Sinon dans le message #4 je crois que tu confond Robert et Hasco par rapport à la faute de frappe...
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour