XL 2019 Calcul automatique des nombres des lignes

bauerjackob

XLDnaute Junior
Bonjour
Je voudrais savoir comment effectuer un calcul automatique dans un autre feuille les nombres des lignes Sans modifier le fichier.
j ai mis un exemple pour quelques lignes. Et dans la feuille A est la base et dans la feuille B le résultat
 

Pièces jointes

  • EXEMPLE.xlsx
    15.4 KB · Affichages: 11
Solution
Oui, mais elle n'a pas à le saisir. Elle n'a rien à faire.
Le "_" est mis en automatique. Donc quel que soit ce que saisie l'opératrice "1234" sera toujours traduit en "_1234", comme les vides remplacés par "-". Avec ces lignes en début de macro :
VB:
    For Each c In Sheets("A").[A1].CurrentRegion
        If c.Value = "" Then c.Value = "-"
        If IsNumeric(Left(c.Value, 1)) Then c.Value = "_" & c.Value
    Next c

bauerjackob

XLDnaute Junior
Bonjour,
Comme dit au message précédent :

Donc dans le VBA mettre la formule :
VB:
.Range("J2:J" & DLB).FormulaLocal = "=NB.SI.ENS(A!A:A;B!A2;A!B:B;B!B2;A!C:C;B!C2;A!D:D;B!D2;A!I:I;B!I2)"
car les colonnes de recherche ont changées.
La je suis vraiement perdu. J ai pas changer de colonnes quand meme. Juste immiter tes collones et mettre une donnée. Donc si je met une autre donne dans la collonne suivante ca necessite une modification du code?
Et je viens de voir le fichier retour VBA2 que tu viens de poster, et ca colle pas regardez en ETAGERE ( feuille A) il n y a qu 1 seul VIS or dans le nombre (feuille B) il en a 2
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Là, vous abusez. Regardez donc les formules.
A noter qu'il faut reprendre la formule en fonction du besoin.
Depuis le début seuls ces champs sont utilisés.
NATUREDESIGNATIONMARQUEREFERENCE

Si vous voulez rajouter l'emplacement dans les filtres il faut modifier la formule comme dit plus haut avec :
VB:
.Range("J2:J" & DLB).FormulaLocal = "=NB.SI.ENS(A!A:A;B!A2;A!B:B;B!B2;A!C:C;B!C2;A!D:D;B!D2;A!I:I;B!I2;A!E:E;B!E2)"
Voir PJ.
et ca colle pas
Ca collait d'après les specs de départ.
 

Pièces jointes

  • VBA2 (2).xlsm
    22.4 KB · Affichages: 2

bauerjackob

XLDnaute Junior
Là, vous abusez. Regardez donc les formules.
"=NB.SI.ENS(A!A:A;B!A2;A!B:B;B!B2;A!C:C;B!C2;A!D:D;B!D2;A!I:I;B!I2;A!E:E;B!E2)"
Excusez mois si j ai bcp de question. Je comprends maintenant que les 3 colonnes F et G et H n'y sont pas???
EST CE OK CE CODE?
.Range("J2:J" & DLB).FormulaLocal = "=NB.SI.ENS(A!A:A;B!A2;A!B:B;B!B2;A!C:C;B!C2;A!D:D;B!D2;A!I:I;B!I2;A!F:F;B!F2;A!G:G;B!G2;A!H:H;B!H2;A!E:E;B!E2)"
 
Dernière édition:

bauerjackob

XLDnaute Junior
Ca semble correct.
Le post à mettre en résolu n'est pas votre réponse mais le post 17 pour que le futur lecteur puisse suivre.
oui tout a fait raisonnable , t as raison, mais je reviens vers vous Sylvanu car j ai un autre pblm (dans le mm sujet bien sur) . En faisant le Total des résultats (qtté ou nombre) il y a une différence par rapport au nombres de ligne du base A. Quel est la raison de cette différence?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
En faisant le Total des résultats (qtté ou nombre) il y a une différence par rapport au nombres de ligne du base A. Quel est la raison de cette différence?
Parce qu'à l'origine, seules les colonnes A:F étaient filtrées pour supprimer les doublons.
Le rajout de colonnes, et le fait qu'il fasse en tenir compte modifie la gestion des doublons.
En utilisant :
VB:
.Range("$A$1:$I$" & DLB).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9), Header:=xlYes
on tient compte des colonnes A:I pour supprimer les doublons.
Voir PJ, on retrouve bien 73 en quantité.
 

Pièces jointes

  • VBA2 (2) (1).xlsm
    23.1 KB · Affichages: 1

bauerjackob

XLDnaute Junior
Bonjour,

Parce qu'à l'origine, seules les colonnes A:F étaient filtrées pour supprimer les doublons.
Le rajout de colonnes, et le fait qu'il fasse en tenir compte modifie la gestion des doublons.
En utilisant :
VB:
.Range("$A$1:$I$" & DLB).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9), Header:=xlYes
on tient compte des colonnes A:I pour supprimer les doublons.
Voir PJ, on retrouve bien 73 en quantité.
Sub Worksheet_Activate()
Dim DL%, DLB%, c
For Each c In Sheets("A").[A1].CurrentRegion
If c.Value = "" Then c.Value = "-"
Next c
DL = Sheets("A").Range("A65500").End(xlUp).Row
With Sheets("B")
.Cells.Clear
Application.ScreenUpdating = False
.Range("A1:I" & DL) = Sheets("A").Range("A1:I" & DL).Value
.Range("J1:J" & DL) = Sheets("A").Range("I1:I" & DL).Value
.Range("J1:J" & DL).ClearContents
DLB = .Range("A65500").End(xlUp).Row
.Range("$A$1:$I$" & DLB).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9), Header:=xlYes
.[J1] = "NOMBRE"
DLB = .Range("A65500").End(xlUp).Row
.Range("A1:J" & DLB).Borders.LineStyle = xlThin
.Columns.AutoFit
.Range("J2:J" & DLB).FormulaLocal = _
"=NB.SI.ENS(A!A:A;B!A2;A!B:B;B!B2;A!C:C;B!C2;A!D:D;B!D2;A!I:I;B!I2;A!F:F;B!F2;A!G:G;B!G2;A!H:H;B!H2;A!E:E;B!E2)"
.Range("J2:J" & DLB).Value = .Range("J2:J" & DLB).Value
.Range("J2:J" & DLB).HorizontalAlignment = xlCenter
End With
End Sub


Bien suivi et tres claire avec le fichier example mais avec 12825 en A j e n ai que 12803 en B
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Sorry, un message doit contenir au moins une question !!
Si la question du message énigmatique précédent est que la formule n'a pas été remise à jour, c'est exact. Dans la PJ c'est rectifiée. Mais vous auriez pu le faire vous même.
VB:
.Range("J2:J" & DLB).FormulaLocal = "=NB.SI.ENS(A!A:A;B!A2;A!B:B;B!B2;A!C:C;B!C2;A!D:D;B!D2;A!E:E;B!E2;A!F:F;B!F2;A!G:G;B!G2;A!H:H;B!H2;A!I:I;B!I2)"
Mais s'il vous plait, un peu plus de compréhension, nul ne peut savoir ce qui se passe dans votre cerveau.:)

Vous pouvez valider cette dernière PJ, je pense que le problème est clos. :D
 

Pièces jointes

  • VBA2 (2) (1) (1).xlsm
    23.2 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Vous le faites exprès !
Vous parlez de quelle référence ? la 3.5611 ? Soyez un tout petit peu plus explicite.

Si c'est de celle ci dont vous parlez elle est correctement remontée dans "B" :
1654958751891.png


et je n'ai aucune ligne en "B" dont la Quantité est 0.
 

Discussions similaires

Réponses
6
Affichages
375

Statistiques des forums

Discussions
312 502
Messages
2 089 047
Membres
104 011
dernier inscrit
dfr