[Résolu] [Calc] Copier d'autres valeurs filtrées

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
calcul
Membre OOrganisé
Membre OOrganisé
Messages : 88
Inscription : 04 déc. 2018 11:06

[Résolu] [Calc] Copier d'autres valeurs filtrées

Message par calcul »

Salutations ,

                   J'ai une macro de sr. Churay qui copie les valeurs modifiées de la feuille de calcul 3 et les colle dans l'ordre de la feuille de calcul 1, ce processus fonctionne déjà correctement .

                  maintenant un nouveau besoin est apparu, à savoir dans la feuille de calcul 3, les valeurs sont filtrées par un filtre automatique, donc maintenant je dois copier les valeurs alternées filtrées et coller en séquence dans la feuille de calcul 1 .

                 mais la macro qui existe déjà dans le fichier ne fait pas correctement ce processus .

                 suit le nouveau fichier joint avec les valeurs filtrées dans la feuille de calcul 3 (avec un bouton dans la feuille de calcul 1)


ami câlin .
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par calcul le 30 janv. 2019 13:49, modifié 2 fois.
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Copier d'autres valeurs filtrées

Message par OOotremer971 »

Bonjour,

Pas sûr d'avoir bien compris comment tu veux copier tes valeurs. L'exemple te donne en feuille plan1, la même chose qu'en feuille plan3. En fait on copie seulement les lignes visibles :

Code : Tout sélectionner

Option Explicit
Sub copier_valeurs_visibles_Plan3 
Dim Odoc As Object, oSheet1 As Object, oSheet3 As Object, ligne As Object
Dim nRowMaxSheet1 As Long, nRowMaxSheet3 As Long, x As Long

odoc = Thiscomponent
oSheet1 = ThisComponent.Sheets.GetByName("Plan1")
oSheet3 = ThisComponent.Sheets.GetByName("Plan3")
nRowMaxSheet1 = DerLigne(oSheet1) + 1
nRowMaxSheet3 = DerLigne(oSheet3) + 1
For x = 1 to nRowMaxSheet3
   	ligne = oSheet3.Rows(x)
   	If ligne.IsVisible = True Then
   		oSheet1.getCellByPosition(0, nRowMaxSheet1).SetDataArray(oSheet3.getCellByPosition(0, x).GetDataArray)
   		nRowMaxSheet1 = nRowMaxSheet1 + 1		
   	end if
next
End Sub
A+
 Ajout : Si c'est pas ça, ajoute au fichier une feuille plan4 pour montrer le résultat attendu. 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
calcul
Membre OOrganisé
Membre OOrganisé
Messages : 88
Inscription : 04 déc. 2018 11:06

Re: [Calc] Copier d'autres valeurs filtrées

Message par calcul »

bonjour sr. OOotremer971 ,

        dans la feuille de calcul 1, il suffit de coller les unes après les autres, c’est-à-dire de coller les unes sous les autres dans l’ordre .

        J'ai ajouté une feuille de calcul 4 (Plan4) avec le résultat attendu .

        J'ai fait un modèle pour trois copies consécutives, c'est-à-dire comme si j'avais appuyé trois fois sur le bouton .

        suit le fichier joint .


ami câlin
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 5.4.4.2 et Windows 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Calc] Copier d'autres valeurs filtrées

Message par OOotremer971 »

Bonjour,

Maintenant c'est clair :) :

A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
calcul
Membre OOrganisé
Membre OOrganisé
Messages : 88
Inscription : 04 déc. 2018 11:06

Re: [Calc] Copier d'autres valeurs filtrées

Message par calcul »

[RÉSOLU]

fonctionne parfaitement ! :D

Merci encore . :super:


ami câlin .
LibreOffice 5.4.4.2 et Windows 7