> 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
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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Disque dur externe Western Digital Elements Desktop USB 3.0 18 To
299,72 € 400 € -25%
@Amazon Allemagne
Clé USB 3.0 SanDisk Ultra Flair 128 Go
11,70 € 17 € -31%
@Amazon
Bureau Mars Gaming (120x60 cm, réglable en hauteur, support casque, tapis souris)
89,90 € 124,99 € -28%
@Materiel.net
Portable 15.6 pouces Acemagic LX15 Pro (Ryzen 7 5700U, 16 Go, 512 Go SSD, Vega 8, Windows 11)
374,99 € 499,99 € -25%
@Amazon
Ecran 27 pouces AOC 27B2H (FullHD, IPS, 75 Hz, sans contour)
104,61 € 130 € -20%
@Amazon
Souris Logitech MX Master 3S (bluetooth, capteur laser 8K, clics silencieux)
60,99 € 115 € -47%
@AliExpress

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