IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Saisie automatique d'une formule ligne par ligne [LibreOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Saisie automatique d'une formule ligne par ligne
    Bonjour à tous, Je rencontre un nouveau blocage sur mon fichier. Je cherche à calculer
    sur la feuille "Enregistrements" le total des colonnes D+F+H et l'inscrire en colonne J.
    Il faudrait que la formule "D nLig + F nLig + H nLig" s'inscrive automatiquement et ceci
    ligne par ligne.Je bute sur ce problème et toutes vos idées seront le bienvenues.
    Merci d'avance et bon week-end à vous.







    Coinchée.ods

  2. #2
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2019
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Saisie automatique d"une formule ligne par ligne
    Bonjour à tous les membres,
    Dans mon précédent message, mon problème était que je ne pouvais
    faire de saisie dans mon tableau que si la ligne était vide de toutes
    formules. La macro si dessous sélectionne la première ligne vide
    uniquement sur la colonne A.
    En l'adaptant sur ma propre macro, mon problème est résolu.
    En cherchant dans les forums, j'ai trouvé ce code : LigneFinDansCol_A
    Merci au passage à Alain De La Chaume.
    J'ai donc clôturé ma demande.
    Bonne journée à tous Cordialement Alain

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Option Explicit
     
    Dim oDlg As Object
     
    Sub OuvrirDialog	
    Dim bibli As Object, monDialogue As Object
    	DialogLibraries.LoadLibrary("Standard")
    	bibli = DialogLibraries.GetByName("Standard")
    	monDialogue = bibli.GetByName("Dialog1")
    	oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
    	oDlg.Execute
    End Sub
     
    Sub monFormulaire
    Dim oFeuille As Object, oCursor As Object
    Dim sVar1 As Object, sVar2 As Object, sVar3 As Object
    Dim sNom1 As Object, sNom2 As Object, sNom3 As Object
    Dim oDoc As Object, oCol As Object
    Dim indexCol As Long, indexFeuille As Integer
    Dim indexLigne As Long
    Dim ligneFin As Long
     
    	sNom1 = oDlg.getControl("TextField1")
    	sNom2 = oDlg.getControl("TextField2")
    	sNom3 = oDlg.GetControl("TextField3")
    	indexFeuille = 0
    	oDoc = thisComponent
    	oFeuille = oDoc.sheets.getByIndex(indexFeuille)
    	oCol = oFeuille.getColumns.getByName("A")
    	indexCol = oCol.getRangeAddress.startColumn 
     
    	indexLigne = acGetIndexLigneFin(indexFeuille, indexCol)
     
    	sVar1 = oFeuille.getCellRangeByName("A" & indexLigne + 2)
    	sVar1.string = sNom1.Text		
    	sVar2 = oFeuille.getCellRangeByName("B" & indexLigne + 2)
    	sVar2.string = sNom2.Text					
    	sVar3 = oFeuille.getCellRangeByName("C" & indexLigne + 2)			
    	sVar3.string = sNom3.Text
     
    	sNom1.text = ""
    	sNom2.text = ""
    	sNom3.text = ""		
     
    End Sub	
     
    	'************************************************************ 02/12/09
    '**** Retourne l'index de la ligne
    '**** de la dernière cellule non vide de la colonne indexCol
    '*********************************************************************
    Function acGetIndexLigneFin(iFeuille as integer, iCol as long) As Long
    Dim oDoc As Object, oFeuille As Object, oCol As Object
    Dim dscCherche As Object
    dim oCell as object
    Dim oCellAdresse As object
    Dim ligneMaxi As Long
    Dim ligneFin As Long
     
    	ligneFin = -1	' par défaut, retourne -1
    	oDoc = thisComponent
    	oFeuille = oDoc.sheets.getByIndex(iFeuille)
    	oCol = oFeuille.getColumns.getByIndex(iCol)
     
    	' Se positionner sur la dernière cellule de la colonne
    	ligneMaxi = oFeuille.rangeAddress.endRow
    	oCell = oFeuille.getCellByPosition(0,ligneMaxi)
    	oDoc.currentController.select(oCell)
     
    	' Effectuer une recherche vers le haut
    	dscCherche = oCol.createSearchDescriptor
    	With dscCherche
    		.SearchString = "."
    		.SearchBackwards = true
    		.SearchRegularExpression = true
    	End With
    	oCell = oCol.findFirst(dscCherche)
    	If (isNull(oCell) = false) Then
    		' Cellule trouvée
    		oCellAdresse = oCell.cellAddress
    		ligneFin = oCellAdresse.row
    		oDoc.currentController.select(oCell)
    	End If
    	acGetIndexLigneFin = ligneFin
     
    End Function

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/09/2009, 17h56
  2. Prolongement automatique d'une formule sous Excel
    Par sebastien06 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/04/2009, 16h57
  3. [XL-2002] saisie automatique d'une date
    Par sylvain591 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/04/2009, 10h28
  4. Réponses: 5
    Dernier message: 08/12/2007, 12h59
  5. non prise en compte d'une formule remplie par une macro
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/06/2007, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo