[Résolu][Calc] incrémenter valeur de cellule si texte présent dans autre cellule de même ligne

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 !
Kenshiriu
Fraîchement OOthentifié
Messages : 2
Inscription : 28 févr. 2023 10:07

[Résolu][Calc] incrémenter valeur de cellule si texte présent dans autre cellule de même ligne

Message par Kenshiriu »

Bonjour,

Je débute sur la programmation de macros et je viens sur ce forum pour trouver de l'aide.

Sur une feuille Calc j'ai plusieurs colonnes. Sur une colonne j'ai une phrase générique et identique présente sur de nombreuses lignes (mais pas sur toutes). Sur cette même ligne j'ai une autre colonne qui dispose d'une valeur en chiffre (elle désigne une année ex : 2020).
J'aimerai créer une macro qui me permet d'analyser la présence de ce texte sur toutes les lignes de ma feuille et si ce texte est présent, il incrémente de 1 la valeur présente sur l'autre cellule de la même ligne.

J’aimerai le faire sur 2 feuilles à la suite.
Voici le code que j'ai trouvé et que j'ai essayé d'adapté pour mes besoins (j'ai laissé les commentaires d'origines). Le code s’exécute mais je n’observe aucun changement sur mes chiffres.
Merci pour votre futur aide :)

Code : Tout sélectionner

Sub changement_millesime
Dim Feuilles() As String,MaFeuille As Object 
Dim i As Integer, n As Long

Feuilles() = Array("feuille1","feuille2") 'Liste des feuilles à traiter

	For i = 0 To Ubound(Feuilles())
		MaFeuille = ThisComponent.Sheets.GetByName(Feuilles(i))
		For n = 0 To 100 'le nombres de lignes dans la feuille
			If MaFeuille.GetCellByPosition(1,n).Value = "texte présent dans la cellule" Then
				MaFeuille.GetCellByPosition(7,n).Value = MaFeuille.GetCellByPosition(7,n).Value +1
			End if
		Next
	Next

end sub
Dernière modification par micmac le 28 févr. 2023 11:13, modifié 1 fois.
Libre office 6.2.7 et W10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9580
Inscription : 28 août 2010 08:45

Re: [Calc] incrémenter une valeur d'une cellule selon la présence d'un texte d'une autre cellule de la meme ligne

Message par micmac »

Bonjour et bienvenue,

Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?

Lisez ce fil pour savoir quelle balise utiliser : sutra27295.html#27295

N'oubliez pas que les termes Macro, OpenOffice ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même au risque de voir votre sujet verrouillé.

Merci de votre collaboration.
 Ajout : Le code figurant dans votre message a été balisé [ code] pour faciliter la lecture. 
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur macOS
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 08:05

Re: [Calc] incrémenter une valeur d'une cellule selon la présence d'un texte d'une autre cellule de la meme ligne

Message par joel275 »

Bonjour,

essaie de remplacer:

Code : Tout sélectionner

If MaFeuille.GetCellByPosition(1,n).Value = "texte présent dans la cellule" Then
par:

Code : Tout sélectionner

If MaFeuille.GetCellByPosition(1,n).String = "texte présent dans la cellule" Then
A plus.
A jour de LibreOffice et de Ubuntu
Kenshiriu
Fraîchement OOthentifié
Messages : 2
Inscription : 28 févr. 2023 10:07

Re: [Calc] incrémenter une valeur de cellule si présence d'un texte d'une autre cellule de la même ligne

Message par Kenshiriu »

Merci beaucoup ca marche nickel. Super pour la réactivité.
Libre office 6.2.7 et W10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9580
Inscription : 28 août 2010 08:45

Re: [Calc] incrémenter une valeur de cellule si présence d'un texte d'une autre cellule de la même ligne

Message par micmac »

Pour clôturer votre sujet :
  • Placez-vous sur le premier message de votre fil de discussion
  • En haut à droite de ce message, cliquez sur le bouton du petit crayon pour éditer.
  • Modifiez le titre du message en cochant l'icône Image et en tapant [Résolu] (respectez la graphie donnée) comme illustré ci-dessous :

    Image
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur macOS