[Résolu][Calc] Copie zone nouveau classeur avec incrément

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 !
Hélène Casi
Fraîchement OOthentifié
Messages : 5
Inscription : 19 janv. 2021 11:03

[Résolu][Calc] Copie zone nouveau classeur avec incrément

Message par Hélène Casi »

Fiche inscription copie.ods
Fiche inscription copie.ods
Bonjour,

Cela fait plusieurs jours que je cherche des info sur le forum... Je vous remercié déjà pour votre aide
Je souhaite copier les cellules (F7, F8 et F9)du classeur actif sur un autre classeur qui s'appelle classeur2 (en zone) A2,A3 et A4.
Le classeur actif s'appelle fiche inscription et a un bouton appelé base de donnée, le classeur2 est la base de donnée. Je ne sauvegarde pas les modifications faites sur le classeur fiche d'inscription
Ceci fonctionne grace au recherche sur le forum
Maintenant je souhaiterais que a chaque nouvelles inscriptions sur le classeur inscription les données des cellules F7 à F9, se copie sur les cellules A5 à A7, ensuite A8 à A9 ...
J'ai utilisée If..... Then
Mais ca ne fonctionne pas, je n'ai pas de message d'erreur
J'espère que vous savez m'aider, merci beaucoup

Code : Tout sélectionner

option Explicit
Sub ZoneNewClasseur()

Dim oDoc as Object, monDocument as Object, oRange as Object, aCopier as Object
Dim adresseDoc as String
Dim cURL as String
Dim CellCible as String
	oDoc = thisComponent
	adresseDoc = "private:factory/scalc"
	oRange = oDoc.Sheets(0).getCellRangeByName("F7:F9")
	oDoc.CurrentController.Select(oRange)
	aCopier = oDoc.CurrentController.getTransferable()
	cURL = ConvertToURL( "/Users/Helene/Desktop/Classeur2.ods" )
	monDocument = StarDesktop.loadComponentFromURL(cURL, "_blank", 0, Array() )
	oRange = monDocument.Sheets(0).getCellByPosition(0,1)
	monDocument.CurrentController.Select(oRange)
	monDocument.CurrentController.insertTransferable(aCopier)

CellCible=	monDocument.CurrentController.Select(oRange)
         If CellCible = "" Then
	 CellCible = (CellCible + 1)
end If
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 21 janv. 2021 20:38, modifié 2 fois.
IOS 10.12 avec open Office 4.1.6
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12228
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: Copier zone nouveau classeur avec incrémentation

Message par Bidouille »

Bonjour,

Votre question a été déplacée dans la section dédiée aux macros. Veillez à poster au bon endroit la prochaine fois.
Le titre a été adapté en conséquent : lire le bandeau rouge en haut de la page.

Pour accélérer les réponses :
Image
Comment joindre un fichier au format ODF
Penser également à dépersonnaliser le fichier joint.
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25181
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Copie zone nouveau classeur avec incrément

Message par Dude »

Salut,
Hélène Casi a écrit :Le classeur actif s'appelle fiche inscription et a un bouton appelé base de donnée, le classeur2 est la base de donnée.
Un tableur n'est pas une base de données.
Il y a pour cela le module Base.
Tu te compliques la vie et tu aurais tout intérêt à faire ta fiche en utilisant un formulaire.

NB : quand on te fait une réponse, ne modifie pas le message précédent mais poste à la suite afin de respecter la logique de lecture.
Hélène Casi
Fraîchement OOthentifié
Messages : 5
Inscription : 19 janv. 2021 11:03

Re: [Calc] Copie zone nouveau classeur avec incrément

Message par Hélène Casi »

Salut,
Effectivement...
Mon choix du tableur pour la base de donnée est pour pouvoir y introduire des montant reçue ent en colonne E, G, I, K... Il y aura des sommes, et puis formule de la TVA

Bàv
IOS 10.12 avec open Office 4.1.6
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25181
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Copie zone nouveau classeur avec incrément

Message par Dude »

Sauf que dans Base, on peut aussi faire des calculs via des requêtes.
Au pis, il suffira de glisser la table dans Calc via le menu Source de données :
Image
Puis effectuer les calculs comme bon te semble.
Hélène Casi
Fraîchement OOthentifié
Messages : 5
Inscription : 19 janv. 2021 11:03

Re: [Calc] Copie zone nouveau classeur avec incrément

Message par Hélène Casi »

Ok Je comprends vraiment...

Mais mon but au final est de ne jamais sauvegarder la fiche d'inscription.
Deuxièmement le classeur base de donné sera composée de plusieurs feuilles liées. Ex si 1 dans colonne Q, la ligne va dans la feuille 2
Est ce Base peut le faire, car honnêtement je n'ai jamais travaillée avec Base?

Je reste persouadée qu'il doit y avoir moyen de faire une incrémentation automatique de la ligne si elle est pleine, n'est ce pas

Bàv
IOS 10.12 avec open Office 4.1.6
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25181
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Copie zone nouveau classeur avec incrément

Message par Dude »

Hélène Casi a écrit : moyen de faire une incrémentation automatique de la ligne si elle est pleine, n'est ce pas
Tu cherches à détecter la 1ere ligne vide dans une plage.
Nombreux exemples à étudier comme celui-ci : https://forum.openoffice.org/fr/forum/v ... vide+plage
Hélène Casi
Fraîchement OOthentifié
Messages : 5
Inscription : 19 janv. 2021 11:03

Re: [Calc] Copie zone nouveau classeur avec incrément

Message par Hélène Casi »

Merci, je suis super contente ca fonctionne :D
IOS 10.12 avec open Office 4.1.6
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12228
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: [Résolu][Calc] Copie zone nouveau classeur avec incrémen

Message par Bidouille »

Bonjour,

Nous dire que c'est résolu, c'est bien. Mais cela ne participe pas à l'esprit d'échange de ce forum.
Vous êtes invité à fournir un document accompagné de la macro exposant la solution.

Cela permettra à d'autres s'arrêtant sur ce sujet d'obtenir une réponse complète.
Hélène Casi
Fraîchement OOthentifié
Messages : 5
Inscription : 19 janv. 2021 11:03

Re: [Résolu][Calc] Copie zone nouveau classeur avec incrémen

Message par Hélène Casi »

Bonjour,

Vraiment me voila gênée de ne pas avoir mis directement le document avec la macro jointe...
Je vous remercie pour le forum et les réponses rapide que j'ai eu

En pièce jointe le document classeur2bis avec:
1 )Fonction copier renvoie a la ligne Feuille 2 vers Base Compta
2) Fonction copier renvoie a la ligne Feuille 2 vers Liste élève
3)Fonction transférer selection Base Compta à A Facture ( il faut sélectionner une cellule par ligne pour tranfèrer la ligne entière)
4) Bouton de recherche dans la feuille Liste élève

Au final, ce n'est plus une Copie zone nouveau classeur avec incrément mais Copie zone même classeur avec incrément
Le document Fiche d'inscription copie colle zone "A2:A10" vers le classeur 2bis et je copie colle (avec la souris) les cellules C1 et C12 de la fiche d'inscription à la feuille 2 (du classeur2bis)...

Le résultat me satisfait vraiment, je vais gagner beaucoup de temps... Et c'est grace au Forum
Classeur2bis.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
IOS 10.12 avec open Office 4.1.6