Problème de compréhension code VBA Excel

[Résolu]
Signaler
Messages postés
6
Date d'inscription
jeudi 15 juin 2006
Statut
Membre
Dernière intervention
27 juin 2006
-
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
-
Bonjour j'ai quelque difficultés à comprendre ce que doivent faire les morceaux de code suivants :
Code n°1 :
Sub MajConsoParcelles()
    Sheets("Consommation").PivotTables("Tableau croisé dynamique1").RefreshTable
    Sheets("Intrants-Résultats").Select
End Sub

Code n°2 :
For i = 1 To 673 Step 56 ' Pour i de 1 à 673 pas 56 '

If Cells(i, "G") <> "" Then ' Si ??? différent de rien alors '

Range(Cells(i, "A"), Cells(i + 54, "G")).Select ' ??? '

EDIT ' ??? '

End If ' fin si '

Next i ' fin pour '

If Range("P1") <> "" Then ' si ??? différent de rien alors '

Range("J1:P55").Select ' ??? '

EDIT '???

End If ' fin si '

Voilà, mon problème est de comprendre l'utilisation de ces morceaux de code afin de les traduire ensuite en langage OOoBasic.

Si quelqu'un peut m'aider à comprendre alors je le remercie d'avance

Within Temptation

9 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

J'espère que cela peut t'aider

Sub MajConsoParcelles() 

   'Je ne sais pas
    Sheets("Consommation").PivotTables("Tableau croisé dynamique1").RefreshTable  
    'Séléctionne la Feuille du classeur courant appelé Intrants-Résultats
    Sheets("Intrants-Résultats").Select  
End Sub 

Code n°2: 
For i = 1 To 673 Step 56  ' Pour i de 1 à 673 pas 56 '
   ' Si la valeur de la cellule Ligne i colonne G différent de rien alors '
   If Cells(i, "G") <> "" Then  
         ' ON selectione la plage de cellule allant de Ai a Gi
        Range(Cells(i, "A"), Cells(i + 54, "G")).Select           
         EDIT  ' Je dirais appel de la procedure EDIT

    End If  ' fin si '

Next i  ' fin pour '

If Range("P1") <> "" Then  ' si la valeur de la cellule en P1 n'est pas vide

    Range("J1:P55").Select  ' on selectionne la plage de cellules allant de J1 a P55
    EDIT  'Appel de la procedure EDIT

End If  ' fin si '

 

<small> Coloration syntaxique automatique [AFCK]</small>
       

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut

Code n°1 :
Sub MajConsoParcelles()
    Sheets("Consommation").PivotTables("Tableau croisé dynamique1").RefreshTable Remet à jour la table du tableau croisé dynamique 1 de la feuille consommation je suppose
    Sheets("Intrants-Résultats").Select sélectionne la feuille intrants résultats
End Sub

Code n°2 :
For i = 1 To 673 Step 56 ' Pour i de 1 à 673 pas 56 '

If Cells(i, "G") <> "" Then ' Si ??? différent de rien alors '
 
Si il y a quelque chose dans la cellule i,G i correspondant au numéro de la ligne et G la colonne

Range(Cells(i, "A"), Cells(i + 54, "G")).Select ' ??? '
selectionne cette la plage "Ai" : "Gi+54"

EDIT ' ??? '
edit doit surement appeler une autre procedure pour imprimer la plage selectionner ou autre

End If ' fin si '

Next i ' fin pour '

même principe pour ce bout de code
If Range("P1") <> "" Then ' si ??? différent de rien alors '

Range("J1:P55").Select ' ??? '

EDIT '???

End If ' fin si '

 Drikce 06
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

J'avais pas vu le i + 54 dans la selection de la premiere plage c'est donc bien de Ai a Gi+54 comme te le dit  Drikce06

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
Messages postés
6
Date d'inscription
jeudi 15 juin 2006
Statut
Membre
Dernière intervention
27 juin 2006

Un grand merci à tous les deux, mais il n'y a pas de feuille appellée consommation mais une zone définie appelée consommation donc il doit remettre à jour une zone dans le tableau croisé.
Within Temptation
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Peut être qu'elle n'est pas visible
pour la rendre visible Sheets("Consommation").visible=true

 Drikce 06
Messages postés
6
Date d'inscription
jeudi 15 juin 2006
Statut
Membre
Dernière intervention
27 juin 2006

Si elle est visible puisqu'elle est composé des 5 premières colonnes de la feuille, mais bon merci quand même.

Within Temptation
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Normalement
sheet("toto") désigne la feuille nommer toto
mais si tu veux une plage nommer ce qui est apparement le cas
cela devrai être sheets("nomfeuille").range("consommation")

 Drikce 06
Messages postés
6
Date d'inscription
jeudi 15 juin 2006
Statut
Membre
Dernière intervention
27 juin 2006

Oui, en effet ça devrait être comme ça mais le fait est qu'il n'y a pas de feuille appelée conso mais juste une plage. de plus la macro fonctionne comme ça donc si ça marche c'est bon, je ne cherche pas plus loin.

Within Temptation
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
C'est sur si fonctionne pouquoi se prendre la tête c'était juste histoire de comprendre

 Drikce 06