× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Besoin d'aide pour faire une MacroSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
PClément
  Posté le 01/12/2007 @ 16:40 
Aller en bas de la page 
Petit astucien

Bonjour ,

Je veux faire l'opération présentée dans un code comme ci-dessous sous excel :

if(Sheet1A1 = 1)
if(Sheet2B2 = 1)
i++;
else if(Sheet2B2 = 0)
j++;

else if(Sheet1A1 = 0)
if(Sheet2B2 = 1)
k++;
else if(Sheet2B2 = 0)
l++;

Je pense qu'il va me falloir utiliser des macros mais je n'ai aucune idée comment faire et je suis assez pressé pour obtenir des résultats :(

Quelqu'un aurait-il une idée comment réaliser simplement ce que je souhaite svp ?

Merci



Modifié par PClément le 01/12/2007 16:41
Publicité
Eric45
 Posté le 01/12/2007 à 20:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir à tous

Bonsoir PClément

Essaie ce code :

Sub essai()
If Worksheets("Feuil1").Range("A1") = 1 Then
If Worksheets("Feuil2").Range("B2") = 1 Then
i = i + 1
Else
j = j + 1
End If
Else
If Worksheets("Feuil2").Range("B2") = 1 Then
k = k + 1
Else
l = l + 1
End If
End If
End Sub

Si j'ai bien compris

Eric

PClément
 Posté le 01/12/2007 à 21:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci pour ce code !

Je pense qu'il faudrait peut être que je comprenne un peu mieux comment programmer en visual basic pour ne pas trop abuser de votre aide.
ça prend du temps pour comprendre ? connaitriez vous un site proposant un tutorial rapide svp ?

Le code doit surement marcher mais je veux faire des choses un peu plus compliquées.
J'aimerai notamment faire ce calcul pour une colonne donnée, par exemple pour A1 jusqu'a A100 et incrémenter les i,j,k,l en fonction du test logique.
Ensuite, a la fin de la boucle de test j'aimerai dire Sheet3A1 = i, Sheet3A2 = j etc.

Est ce que c'est faisable ?

Eric45
 Posté le 01/12/2007 à 21:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Re

Les personnes qui répondent sur les forums sont bénévoles mais aiment aider, donc pas de pb.

Pour apprendre la programmation VBA, j'ai récupéré sur un site ce titre de livre :

VBA pour Excel programmation macro
par Richard Shepherd
édteur First Interactive
391 pages 24.90 euros
(23.66 chez FNAC)

Je ne le connais pas, je n'ai aucune action à la fnac, mais surtout je ne sais pas si on le trouve encore et à quel prix.

Mais pour ce perfectionner, il faut se creuser la tête, s'obstiner, ..... et à la fin demander, il y aura toujours quelqu'un pour répondre.

Pour commencer, il faut savoir que l'on peut enregistrer ce que l'on fait dans une macro, que la touche F1 est super pratique

En revenant à ton pb, commence par comprendre le code en le copiant dans un module et en le "lisant" "pas à pas" par la touche F8

A+

Eric
ferrand
 Posté le 01/12/2007 à 22:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

PClément
 Posté le 02/12/2007 à 01:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Incroyable !

J'arrive à faire quelque chose !

MERCI !

En effet F1 et F8 m'aident bien.

Juste deux questions,
1: Je n'ai pas bien compris la différence entre :
Worksheets("Feuil1").Range("A1") et Worksheets("Feuil1").Range("A1").Value.
D'après le bout de code que Eric45 m'a écrit le .Value n'est pas utile pour faire le test mais dans l'aide de Visual ils précisent qu'il faut utiliser ce .Value pour changer la valeur d'une case..
2: comment commenter du code ?

PClément
 Posté le 02/12/2007 à 01:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
C'est super, j'en revient pas !
Eric45
 Posté le 02/12/2007 à 08:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour à tous

Bonjour PClément

Effectivement le .value ne semble pas nécessaire, mais j'aurais du le mettre, il spécifie ce que l'on veut récupérer comme information : value, text,..... sans le préciser VBA se débrouille, mais le code n'est pas précis et il y a un risque d'erreur.

Pour commenter un code il suffit de mettre un ' (apostrophe) et écrire le texte à la suite. VBA comprend que c'est un commentaire, exemple :

Range("a1").select 'selectionne la cellule A1

Tu recopies cette instruction dans un module, et la phrase après le " ' " change de couleur et n'est pas lu par VBA

Eric

ferrand
 Posté le 02/12/2007 à 08:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

PClément a écrit :

Juste deux questions,
1: Je n'ai pas bien compris la différence entre :
Worksheets("Feuil1").Range("A1") et Worksheets("Feuil1").Range("A1").Value.
D'après le bout de code que Eric45 m'a écrit le .Value n'est pas utile pour faire le test mais dans l'aide de Visual ils précisent qu'il faut utiliser ce .Value pour changer la valeur d'une case..
2: comment commenter du code ?


1) Si tu ne mets pas .Value, VBA va utiliser la propriété par défaut de l'objet Range (plage de cellules) qui se trouve justement être... .Value. Cela ne marcherait pas avec une autre propiété.

2) Lorsque tu mets ' (apostrophe) dans ton code, tout ce qui suit dans la ligne est considéré comme un commentaire et n'est pas exécuté.

excuses Eric45. La simultanéité...



Modifié par ferrand le 02/12/2007 08:37
Publicité
PClément
 Posté le 02/12/2007 à 11:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ok merci à tous,

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
21,91 €Souris sans fil Logitech M280 à 21,91 €
Valable jusqu'au 25 Septembre

Amazon fait une petite promotion sur la souris sans fil Logitech M280 qui passe à 21,91 €. On la trouve ailleurs à partir de 30 €. Sa forme profilée est adaptée aux droitiers. Son autonomie est de 18 mois (pile AA que vous pourrez remplacer).


> Voir l'offre
171,01 €PC Dell Optiplex 7010 (Core i5, 8 Go RAM, SSD 240 Go, Windows 10) reconditionné à 171,01 €
Valable jusqu'au 27 Septembre

Amazon fait une belle promotion sur l'ordinateur de bureau Dell Optiplex 7010 SFF reconditionné à neuf et garanti 1 an à 171,01 € livré gratuitement. Le PC est équipé d'un processeur Intel Core i5 3470 à 3.2 GHz, de 8 Go de RAM, d'un SSD de 240 Go, d'un graveur DVD et tourne sous Windows 10 Pro 64 bits. Rajoutez un écran, un clavier et une souris et vous aurez un ordinateur à l'aise en bureautique, Internet et multimédia. Notez que le Windows 10 fourni peut être en espagnol ou en italien mais que vous pouvez facilement changer la langue pour mettre Windows en Français.


> Voir l'offre
124 €Ecran 24 pouces Samsung C24F396 (incurvé, 4 ms, FreeSync) à 124 €
Valable jusqu'au 25 Septembre

Amazon propose actuellement l'écran 24 pouces Samsung C24F396 à 124 €. On le trouve ailleurs à partir de 170 €. Cet écran dispose d'une dalle VA incurvée Full HD (1920x1080) et offre un temps de réponse de 4ms. Il possède des entrées VGA et HDMI. Il possède des fonctions d'anti scintillement et anti lumière bleue.


> Voir l'offre

Sujets relatifs
Besoin d'aide pour faire un test antivirus
Besoin d'aide pour bug dans macro calc
Besoin d'aide pour créer un macro s.v.p.
Besoin d'aide pour commencer avec Excel 2010
Aide pour macro
aide pour une macro
besoin d'une lumiére pour une macro :-)
Besoin aide pour achat pc gamer
Besoin d aide pour un tableau
besoin de votre aide pour modifier un texte
Plus de sujets relatifs à Besoin d''aide pour faire une Macro
 > Tous les forums > Forum Bureautique