MA MACRO
Résolu
jeandchanel
Messages postés
135
Date d'inscription
Statut
Membre
Dernière intervention
-
jeandchanel Messages postés 135 Date d'inscription Statut Membre Dernière intervention -
jeandchanel Messages postés 135 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- MA MACRO
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
4 réponses
Bonjour Jean, bonjour le forum,
Peut-être comme ça :
À plus,
ThauTheme
Peut-être comme ça :
Sub Macro1() Dim O As Worksheet 'déclare la variable O (Onglet) Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs) Dim D As Object 'déclare la variable D (Dictionnaire) Dim I As Integer 'déclare la variable I (Incrément) Dim J As Integer 'déclare la variable J (incrément) Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes) Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas) TV = O.Range("A1").CurrentRegion 'définit le tableau des valeur TV Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D For I = 2 To UBound(TV, 1) - 1 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde et sans la dernière) If TV(I + 1, 1) <> TV(I, 1) Then 'condition : si la donnée en ligne I + 1 est différente que la donnée en ligne I (dans la colonne 1) ReDim Preserve TL(J) 'redimensionne le tableau des lignes TL TL(J) = I + 1 'stocke le numéro de ligne I + 1 J = J + 1 'incrémente J End If 'fin de la condition Next I 'prochaine ligne de la boucle For J = UBound(TL) To LBound(TL) Step -1 'boucle inversée sur tous les éléments J du tableau des lignes TL O.Rows(TL(J)).Insert shift:=xlShiftDown 'insère une ligne avant la ligne de l'élément J de TL Next J 'prochain élément de la boucle End Sub
À plus,
ThauTheme
Bonjour,
Quel est l'objectif recherché, pourquoi détruire la base de données en y insérant des lignes ?
Quel est l'objectif recherché, pourquoi détruire la base de données en y insérant des lignes ?
Un exemple de différentiation par MFC, sans macro et sans insérer de ligne supplémentaire :
https://www.cjoint.com/c/FLBhPQoyNC1
Cordialement
Patrice
https://www.cjoint.com/c/FLBhPQoyNC1
Cordialement
Patrice
Voici un exemple du résultat recherché dans l'onglet (Feuil2) :
https://www.cjoint.com/c/FLBirpP5OAL
https://www.cjoint.com/c/FLBirpP5OAL
Re,
Donc l'objectif c'est de pouvoir faire des sous-totaux par famille !
Excel sait faire ça tout seul sans macro !
Par contre que ce soit avec une macro ou sans, il faut pouvoir identifier les familles.
Au vu de ton exemple, il s'avère que la méthode que tu envisageais (avec des mots clés) ne peut pas fonctionner. Le fichier MFC que je t'ai envoyé, montre les limites de cette méthode (que ce soit par formule ou par macro).
Le plus simple est d'ajouter une colonne qui identifie les familles. Dans ce cas il suffira de demander à Excel des sous-totaux.
Donc l'objectif c'est de pouvoir faire des sous-totaux par famille !
Excel sait faire ça tout seul sans macro !
Par contre que ce soit avec une macro ou sans, il faut pouvoir identifier les familles.
Au vu de ton exemple, il s'avère que la méthode que tu envisageais (avec des mots clés) ne peut pas fonctionner. Le fichier MFC que je t'ai envoyé, montre les limites de cette méthode (que ce soit par formule ou par macro).
Le plus simple est d'ajouter une colonne qui identifie les familles. Dans ce cas il suffira de demander à Excel des sous-totaux.
Bonjour Patrice, la methode des Sous-totaux ne marche pas. voici un apercu du resultat obtenu dans le fichier ci-joint (onglet Feuil3) :
https://www.cjoint.com/c/FLDhXmkfobL
https://www.cjoint.com/c/FLDhXmkfobL
Bonjour,
La méthode fonctionne si tu fait ce que j'ai écrit :
Le plus simple est d'ajouter une colonne qui identifie les familles. Dans ce cas il suffira de demander à Excel des sous-totaux.
Par exemple :
https://www.cjoint.com/c/FLDiUNVfEj1
Patrice
La méthode fonctionne si tu fait ce que j'ai écrit :
Le plus simple est d'ajouter une colonne qui identifie les familles. Dans ce cas il suffira de demander à Excel des sous-totaux.
Par exemple :
https://www.cjoint.com/c/FLDiUNVfEj1
Patrice
Bonjour,
Dans la formule, la partie :
permet d'extraire le premier mot du texte de la cellule B3. C'est à dire depuis le début du texte jusqu'au premier espace, ou jusqu’à la fin si il n'y a pas d'espace dans le texte
Donc :
La partie :
La formule complète : Si le premier mot de la cellule précédente de la colonne désignation est égal au premier mot de la cellule de la colonne désignation, alors, le résultat est le même que celui de la cellule résultat précédente, sinon le résultat est égal au résultat de la cellule précédente + 1.
Quand à la formule de la MFC :
Patrice
Dans la formule, la partie :
GAUCHE($B3;CHERCHE(" ";$B3&" "))
permet d'extraire le premier mot du texte de la cellule B3. C'est à dire depuis le début du texte jusqu'au premier espace, ou jusqu’à la fin si il n'y a pas d'espace dans le texte
Donc :
GAUCHE($B3;CHERCHE(" ";$B3&" "))=GAUCHE($B2;CHERCHE(" ";$B2&" "))permet de comparer le premier mot de B3 avec le premier mot de B4
La partie :
N(K2)donne la valeur du nombre situé dans la cellule précédente K2. Si la cellule contient du texte le résultat de N(K2) est 0.
La formule complète : Si le premier mot de la cellule précédente de la colonne désignation est égal au premier mot de la cellule de la colonne désignation, alors, le résultat est le même que celui de la cellule résultat précédente, sinon le résultat est égal au résultat de la cellule précédente + 1.
Quand à la formule de la MFC :
=MOD($K3;2)=0elle es VRAI quand le reste de la division par 2 du nombre en K3 esr égal à 0, c'est a dire que la MFC apparaît pour tous les nombres pairs de la colonne K.
Patrice
Fais l'effort de fournir un fichier, on perdra moins de temps. Regarde du coté de https://www.cjoint.com/ par exemple...
il s’agit pour moi d’écrire une macro qui va m'aider a regrouper les articles par "famille"