Forums XLPages

Tous les messages (wjmavsk)

« 1 2 3 »
Excel VBA Compilation conditionnelle
#11
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 10-08-2013 14h54

Bonjour,

j'ai une application qui fonctionne sur Windows XP / Office 2007.

Cette même application ne fonctionne plus sous Windows 7 / Office 2013, or J'ai besoin de la faire tourner dans les deux environnements.

Le problème est généré lors de la compilation des modules VBA. Je n'arrive pas à installer le module de gestion de calendrier MSCOMCT2.OCX sur Windows7 et je n'ai pas trouvé d'équivalent compatible avec windows 7 sur le net.

Lorsque je supprime dans mon application,  le module .frm  de gestion de calendrier et le code inclus qui y fait appel dans certaines feuilles , l'application se compile correctement et tourne normalement, sous windows7/OFFICE 2013 sans la fonction calendrier.

Afin d'éviter de gérer et de maintenir à jour deux applications, sachant qu'il est possible d'identifier la version d'Office avec le code

Val(Application.version),

existe-t-il une possibilité de compilation conditionnelle des modules VBA?

Cordialement

JMV

Hors Ligne
Rapport   Haut 

Re: Modification en VBA de valeurs de données sur enregistrements filtrés
#12
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 23-03-2013 17h19
Dim lCount, NbLignes, LnFirst As Long


Sub Modif_EDF()
'
' Modif_EDF Macro
'

'
On Error Resume Next
 
' trouve nombre de lignes avec code 88 dans colonne 7
        NbLignes = WorksheetFunction.CountIf(Columns(7), "88")
   
    For lCount = 1 To NbLignes

        Columns(7).Find(What:="88", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate
       
            LnFirst = ActiveCell.Row
            Cells(LnFirst, 4).Select
                If ActiveCell = "D" Then
                        ActiveCell = "-1"
                        Cells(LnFirst, 5).Select
                            If ActiveCell <> "AC" Then
                                ActiveCell = "AC"
                        End If
                End If
                 
        Next lCount

End Sub
La fonction Find permet de réaliser cette opération avec tableau filtré ou non filtré.
Cordialement,
JM
Hors Ligne
Rapport   Haut 

Modification en VBA de valeurs de données sur enregistrements filtrés
#13
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 23-03-2013 12h41
Bonjour,
j'essaie de modifier la valeur de certains champs d'un tableau en fonction de la valeur d'un autre champs sur la même ligne de ce tableau.
Dans l'exemple, je cherche à remplacer le contenu de "EDF" pour les lignes où N°sem est égal à 88. Je veux y inscrire -1 au lieu de D.
Voir fichier Demo joint.
Quellle fonction VBA peut-on utiliser pour optimiser le temps d'execution sur un tableau comportant plusieurs milleirs de lignes?
Pièce jointe:
xlsm Demo .xlsm   [ Taille: 78.29 Ko - Téléchargements: 422 ]
Hors Ligne
Rapport   Haut 

Re: Tableau dynamique croisé: Renommage dynamique des titres de colonnes
#14
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 21-03-2013 13h10
Super!
Un grand merci pour ton aide.
JM
Hors Ligne
Rapport   Haut 

Re: Somme avec 2 critères
#15
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 20-03-2013 23h07
Bonsoir,
à mon avis, la fonction somme.si.ens() permet de faire ce genre d'opération.

JM
Hors Ligne
Rapport   Haut 

Re: Tableau dynamique croisé: Renommage dynamique des titres de colonnes
#16
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 20-03-2013 22h59
Bonsoir Chris,
ci joint un fichier demo permettant d'illustrer ma demande.
merci pour ton aide.
JM

Pièce jointe:
zip Demo.zip   [ Taille: 73.82 Ko - Téléchargements: 506 ]
Hors Ligne
Rapport   Haut 

Re: Tableau dynamique croisé: Renommage dynamique des titres de colonnes
#17
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 17-03-2013 22h10
En complément de la réponse précédente, je peux effectivement utiliser une colonne cachée dans les données sources et remplir cette colonne avec la formule RechercheV . Ensuite, il suffit de faire référence à cette colonne pour établir les TDC.
Avec une table source de plusieurs milliers de lignes, ce n'est pas très performant.
Quel pourrait être le principe d'une solution VBA? Les titres d'un tableau TDC sont des objets, on doit pouvoir leurs attibuer une valeur? 
Avis?
JM
Hors Ligne
Rapport   Haut 

Re: Tableau dynamique croisé: Renommage dynamique des titres de colonnes
#18
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 17-03-2013 21h47

OK.
Un fichier Excel complet avec feuilles et macros pèse plus de 2Mo. Il faudrait que je développe un modèle simplifié pour le transmettre.
Je vois ce que je peux faire.
Merci
JM


Hors Ligne
Rapport   Haut 

Re: Tableau dynamique croisé: Renommage dynamique des titres de colonnes
#19
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 17-03-2013 15h50
En fait, j'ai développé une application de suivi d'activités démarrant du contact client jusqu'au paiement de la facture. Ceci est applicable à tous types de PME. Chaque PME peut avoir jusqu'à 6 branches d'activités différentes. Ces activités sont codées de 1 à 6 dans une colonne du tableur.  
Je cherche à pouvoir paramétrer les titres des colonnes des tableaux croisés pour afficher les noms de ces activités qui sont différentes d'une PME à l'autre et non pas, les n° tels qu'ils apparaissent en titre de colonne sur le TDC créés. 
Pour le moment, pour chaque PME, je dois renommer manuellement. J'ai une dizaine de tableaux à adapter à chaque fois.
Si lors du processus d'initialisation de l'outil, je définis  dans une table les noms des activités correspondant à 1, 2,...6, il doit être possible de récupérer ces noms et de les afficher en titre de colonne des TDC.
D'après ce que je comprends, on ne peut pas modifier par adressage indirect dans le tableur, la valeur d'un titre de TDC.
Est-ce possible sous vBA?
        
Pour illuster le problème, j'ai joint un fichier contenant une photo d'un TDC simple, au format zip.
Merci de confirmer ce qu'il est possible de faire.
Cordialement
JM        
        




Pièce jointe:
zip Exemple TDC.zip   [ Taille: 14.20 Ko - Téléchargements: 493 ]
Hors Ligne
Rapport   Haut 

Tableau dynamique croisé: Renommage dynamique des titres de colonnes
#20
Aspirant XLPages

Inscription: 05/01/2013

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 17-03-2013 09h57
Bonjour,

dans un tableau dynamique croisé, on peut renommer les colonnes manuellement.
Quand j'essaie de le faire à partir d'une table et de la fonction rechercheV(), je reçois un message d'erreur.
Ma formule recherche() est correcte. Lorsque je l'inscris dans une cellule hors du tableau, elle retourne la valeur que je cherche à inscrire dans une case de la ligne titre du TDC.
Est-il possible de réaliser cette opération dynamiquement?
Si oui, comment procéder?

Cordialement,
JMV

Hors Ligne
Rapport   Haut 

« 1 2 3 »