VBA sur Ipad Pro
Bonjour,
Pourriez vous m'apporter votre aide?
Je maitrise plutôt bien les VBA mais j'ai besoin d'utiliser un autre outil que mon ordinateur lors de déplacement, j'ai donc opté pour IPad.
j'ai vu qu'on pouvait utiliser VBA sur google Sheets mais qu'il fallait convertir le code. je n'ai aucune connaissance des codes google Sheets et je n'ai pas accès au convertisseur proposé pour convertir automatiquement car je n'ai pas la bonne version du pack office.
quelqu'un pourrait il m'aider en me convertissant mon code s'il en a la possibilité ou bien me le traduire ?
j'ai 2 page, une avec les produits et l'autre avec le devis. Ma macro va chercher toute les lignes qui ont un "X" en collonne E, et me les rappatrier sur mon devis
Je sais que sur sheet on ne peux pas avoir de boutons donc j'accepterais tout systeme tiers tant que ca marche :p
Merci a la communauté
je vous en serez trés reconnaissant ;)
Sub Listing()
Dim i As Integer, n As Integer, j As Integer
j = 17
i = Sheets("PRODUITS").Range("A65536").End(xlUp).Row
'On Boucle sur la colonne où les "x" peuvent être saisies
Sheets("DEVIS").Range("A17:C69").Value = ""
For n = 1 To i
If Sheets("PRODUITS").Range("D" & n).Value = "x" Then
Sheets("DEVIS").Range("A" & j).Value = 1
Sheets("DEVIS").Range("B" & j).Value = Sheets("PRODUITS").Range("A" & n).Value
Sheets("DEVIS").Range("C" & j).Value = Sheets("PRODUITS").Range("C" & n).Value
Sheets("DEVIS").Range("F" & j).Value = Sheets("PRODUITS").Range("B" & n).Value
j = j + 1
End If
Next n
j = 17
Call ShowAllLine
Call HideAllLine
End Sub
Sub ShowAllLine()
Sheets("DEVIS").Activate
Rows("17:69").Select
Selection.EntireRow.Hidden = False
End Sub
Sub HideAllLine()
Dim max As Integer, i As Integer
max = 69
j = 17
For n = j To max
If Sheets("DEVIS").Range("A" & n).Value = "" Then
Sheets("DEVIS").Range("A" & n & ":A" & n).Select
Selection.EntireRow.Hidden = True
End If
Next n
End SubEdit modo : code mis entre balises
Bonjour sbabkev
Vous venez de poster votre message avec un format qui empêche une bonne lisibilité,
la prochaine fois, merci de mettre votre code entre balises, avec le bouton </>
Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] qui vous aidera dans vos demandes et réponses sur ce forum
J'ai également déplacé le sujet qui concerne les pros de GS
A+
Bonjour,
j'ai vu qu'on pouvait utiliser VBA sur google Sheets mais qu'il fallait convertir le code. je n'ai aucune connaissance des codes google Sheets et je n'ai pas accès au convertisseur proposé pour convertir automatiquement car je n'ai pas la bonne version du pack office.
j'ai 2 page, une avec les produits et l'autre avec le devis. Ma macro va chercher toute les lignes qui ont un "X" en collonne E, et me les rappatrier sur mon devis
Je sais que sur sheet on ne peux pas avoir de boutons donc j'accepterais tout systeme tiers tant que ca marche :p
Je doute forte de la qualité d'une conversion automatique, voire même d'une traduction manuelle : VBA et GAS (Google App Script) sont des langages différents (le premier propriétaire, le second fortement inspiré de javascript), mais dans certains cas un script n'est pas nécessaire, Google Sheets ayant des fonctions qui lui permettent de satisfaire le besoin, et en l'occurrence une fonction query https://www.sheets-pratique.com/fr/query pourrait être suffisante ! Pour cela il faudrait voir ton document.
Google Sheets permet d'avoir des boutons, je ne sais pas où tu as été cherché une telle affirmation ! par contre, son fonctionnement sur Safari, je ne le connais pas ! Mais si la fonction query satisfait ton besoin, alors ce ne sera pas du tout nécessaire.
Conclusion = partage une copie de ton fichier via la procédure suivante : https://www.sheets-pratique.com/fr/cours/partage
Au vu de ta macro, ceci pourrait suffire (à tester)
=query(Produits!A1:F;"select A,B,C,F where D='x' ";0)Bonjour
Ci joint le lien de mon fichier : https://docs.google.com/spreadsheets/d/15HhkmLGxq5OxLXMq2Z9iSXwHFl6NVn-6oVHMCtjk4Kw/edit?usp=sharing
j'ai testé ton code mais je pense que je m'y suis mal pris je vais essayer de regarder ce week end de maniere plus posée. En tout cas merci beaucoup de ton aide
Inverse les colonnes D et E de DEVIS
en B1
=iferror(query(PRODUITS!A:D;"select A,B,C where D='x' ";0))Bonjour
Merci pour ta réponse, ca fonctionne puisqu'il me rapatrie les informations, on se rapproche donc de ma macro excel.
En revanche la ca prend qu'une seule operation j'aurais besoin qu'il puisse me remonter l'ensemble des produits qui seraient sélectionnés, un peu comme dans l'esprit de cette partie de code
en tout cas merci beaucoup tu m'as bien fait avancer
For n = 1 To i
If Sheets("PRODUITS").Range("D" & n).Value = "x" Then
Sheets("DEVIS").Range("A" & j).Value = 1
Sheets("DEVIS").Range("B" & j).Value = Sheets("PRODUITS").Range("A" & n).Value
Sheets("DEVIS").Range("C" & j).Value = Sheets("PRODUITS").Range("C" & n).Value
Sheets("DEVIS").Range("F" & j).Value = Sheets("PRODUITS").Range("B" & n).Value
j = j + 1
End If
Next n
j = 17
Call ShowAllLine
Call HideAllLine
End Subeffectivement j'avais mal compris le truc :p
j'avais utilisé la formule comme une formule Excel je l'avais mis sur l'ensemble de la colonne Alors qu'il suffisait de la mettre que sur la première ligne
il me reste plus qu'a trouver la formule pour masquer les lignes vide mais je pense que je peux trouver ca facilement sur internet
en tout cas merci beaucoup a toi.
Il n'y aura pas de formule pour masquer des lignes. Je préfère plutôt faire en sorte que le "cartouche" se trouve en-tête et le détail avec un nombre de lignes variables en dessous, avec la formule query qui remplira le nombre de lignes ad-hoc.
