Macro
Zen
-
Zen -
Zen -
Bonjour,
Pouvez-vous m'aider à créer un macro de report, c'est-à-dire qui recherche une donnée pour la mettre ailleurs.
J'ai tout expliqué sur ce fichier.
Merci d'avance pour les personnes qui voudront bien m'aider.
https://www.cjoint.com/?kBt5PycU3J
Pouvez-vous m'aider à créer un macro de report, c'est-à-dire qui recherche une donnée pour la mettre ailleurs.
J'ai tout expliqué sur ce fichier.
Merci d'avance pour les personnes qui voudront bien m'aider.
https://www.cjoint.com/?kBt5PycU3J
A voir également:
- Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Actiona macro - Télécharger - Divers Utilitaires
4 réponses
Bonsoir,
Une proposition : Report.xls
En Feuil2 il faut nommer la plage des tarifs : 'tarif'
Seules les cellules vides sont mises à jour, j'ajoute un fond vert pour les repérer pendant les tests.
eric
Une proposition : Report.xls
En Feuil2 il faut nommer la plage des tarifs : 'tarif'
Seules les cellules vides sont mises à jour, j'ajoute un fond vert pour les repérer pendant les tests.
eric
Zen
Superbe merci beaucoup.
bonjour
Voici ton classeur avec la macro :
http://www.cijoint.fr/cjlink.php?file=cj200910/cijvJo1igp.xls
Il faut bien sûr que tu autorises l'exécution des macros pour qu'elle soit efficiente.
Voici ton classeur avec la macro :
http://www.cijoint.fr/cjlink.php?file=cj200910/cijvJo1igp.xls
Il faut bien sûr que tu autorises l'exécution des macros pour qu'elle soit efficiente.
bonjour
Avec une macro événementielle sur la Feuil2 cela devrait faire ce que tu veux
Seuls les nouveaux tarifs pour un produit ou les nouveaux produits sont rajoutés.
Avec une macro événementielle sur la Feuil2 cela devrait faire ce que tu veux
Option Explicit
Private Sub Worksheet_Change(ByVal sel As Range)
If sel.Column < 3 Then 'seules les colonnes A et B sont cocernées
Dim cel As Object
For Each cel In sel ' boucle pour chaque cellule mise à jour
Select Case cel.Column
Case 1 ' colonne A
Call trt_elm(cel.Value, cel.Offset(0, 1).Value)
Case 2 ' colonne B
Call trt_elm(cel.Offset(0, -1).Value, cel.Value)
End Select
Next cel
End If
End Sub
Public Sub trt_elm(num, tar) 'analyse Feuil1
Dim lig As Long, lyg As Long
With Sheets("Feuil1")
For lig = 1 To .Cells(.Columns(1).Cells.Count, 1).End(xlUp).Row
If .Cells(lig, 1).Value = num Then 'n° trouvé
If .Cells(lig, 3).Value = tar Then Exit Sub 'tarif égal => rien
For lyg = lig To .Cells(.Columns(1).Cells.Count, 1).End(xlUp).Row
If .Cells(lyg, 3).Value = tar Then Exit Sub 'tarif égal => rien
Next lyg 'pas de n° et tarif égaux =>on ajoute
.Cells(lyg, 1).Value = num
.Cells(lyg, 3).Value = tar
Exit Sub
End If
Next lig
If lig > .Cells(.Columns(1).Cells.Count, 1).End(xlUp).Row Then
.Cells(lig, 1).Value = num
.Cells(lig, 3).Value = tar
End If
End With
End Sub
Seuls les nouveaux tarifs pour un produit ou les nouveaux produits sont rajoutés.
Bonsoir,
Je veux bien te donner un coup de main pour ton fichier, mais je ne vois pas comment tu va gerer les changements successifs de tarifs avec ta methode.
imagine:
Ne peut on pas plutot envisager:
- une colonne ancien tarif
- une colonne Tarif
- une colonne date
Cela permet de conserver les 2 derniers tarifs (y compris l'actuel)
A toi de voir?
@+
Laurent
Je veux bien te donner un coup de main pour ton fichier, mais je ne vois pas comment tu va gerer les changements successifs de tarifs avec ta methode.
imagine:
tarif 1 : 89 tarif 2: 120 tarif 3: 125 etc... Dans ce cas, on a déjà 3 fois la même ligne ...
Ne peut on pas plutot envisager:
- une colonne ancien tarif
- une colonne Tarif
- une colonne date
Cela permet de conserver les 2 derniers tarifs (y compris l'actuel)
A toi de voir?
@+
Laurent
Salut,
Oui je comprends ce que tu veux dire mais c'est vrai que c'est difficile de se projeter lorsqu'on a pas tout le tableau. En fait ces lignes doivent de toutes facon être créer pour d'autres colonnes alors ce n'est pas grave mais si je ne devais pas rajouter des données dans d'autres colonnes ton idée aurait été idéal. :-)
Oui je comprends ce que tu veux dire mais c'est vrai que c'est difficile de se projeter lorsqu'on a pas tout le tableau. En fait ces lignes doivent de toutes facon être créer pour d'autres colonnes alors ce n'est pas grave mais si je ne devais pas rajouter des données dans d'autres colonnes ton idée aurait été idéal. :-)