Bonjour a tous,
Une feuille contient les données des classification ("classification")
dans cette feuille contient les noms des classification avec des champ contient/Contient pas
une feuille contient des résumé ("Autres")
dans cette feuille,
1. des résumé
2. d'autres infos
3. les classifications (le VBA les rajoute automatiquement)
4. TE_PROV
choisi par (VBA toujours):
a. trouve la cellule du premier "OK" trouvé dans les champs classifications dans cette feuille
b. trouve l'entête de cette cellule
c. nomme la cellule TE_PROV avec le nom de l'entête trouvé
la partie du code que j'utilise pour effectuer cette tache est
Début code ---------------
Sheets("classification").Select
Range("A1").Select
TEPOV = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, TEPOV + 1).Select
ActiveCell.FormulaR1C1 = "TE_PROV"
Cells(1, TEPOV + 1).Offset(1, 0).Select
'FirstRow contient le premier résumé
'LstRw contient le dernier résumé
'LstCl contient la premiere ligne de classification
'LastCol contient la dernière ligne de classification
ce code fonctionne très bien mais très lent
merci d'avance pour ceux qui m'ont comprit (pas facile je doute)
et merci pour votre aide surtout
Une feuille contient les données des classification ("classification")
dans cette feuille contient les noms des classification avec des champ contient/Contient pas
une feuille contient des résumé ("Autres")
dans cette feuille,
1. des résumé
2. d'autres infos
3. les classifications (le VBA les rajoute automatiquement)
4. TE_PROV
choisi par (VBA toujours):
a. trouve la cellule du premier "OK" trouvé dans les champs classifications dans cette feuille
b. trouve l'entête de cette cellule
c. nomme la cellule TE_PROV avec le nom de l'entête trouvé
la partie du code que j'utilise pour effectuer cette tache est
Début code ---------------
Sheets("classification").Select
Range("A1").Select
TEPOV = Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, TEPOV + 1).Select
ActiveCell.FormulaR1C1 = "TE_PROV"
Cells(1, TEPOV + 1).Offset(1, 0).Select
'FirstRow contient le premier résumé
'LstRw contient le dernier résumé
'LstCl contient la premiere ligne de classification
'LastCol contient la dernière ligne de classification
For X_Value = FirstRow To LstRw
Fin Code ---------------------
For Y_Value = LstCl To LastCol
If Sheets("classification").Cells(X_Value, Y_Value).Value = "OK" Then
Sheets("classification").Cells(X_Value, LastCol + 1).Select
Sheets("classification").Cells(X_Value, LastCol + 1) = Sheets("classification").Cells("1", Y_Value).Value
Exit For
Else
Sheets("classification").Cells(X_Value, LastCol + 1) = "vide"
End If
Next Y_Value
Next X_Value
ce code fonctionne très bien mais très lent
merci d'avance pour ceux qui m'ont comprit (pas facile je doute)
et merci pour votre aide surtout
Pièces jointes
Dernière édition: