Macros excel

bonjour ,
j'envois une autre fois mon probléme et j'espère avoir cette fois une réponse,
le service météo établit annuellement le tableau des températures des principales villes marocaines durant les 12 mois de l’année sous la forma suivante :

villes javier février mars avril …etc

paris

...etc
je veus développer une macro excel qui détermine les minimas et les maximas de chaque ville indiquant la température et le mois correspondant

la macro doit fonctionner même si on ajoute des nouvelles villes.

Les résultats doivent s’afficher dans une autre feuille en cliquant sur un bouton.

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour
    Dis nous ce que tu as déjà fait
    1. bonjour,
      merci pour votre intérêt ,j'ai arrivé à faire ce code:
      Private Sub cmdafficher_Click()
      n = 1
      Do While Not IsEmpty(Range("a" & n).Value)
      x = Worksheets("Feuil1").Range("a" & n).Value
      y = Worksheets("Feuil1").Range("b" & n).Value
      If x < y Then
      Worksheets("Feuil2").Range("b" & n).Value = x
      Else
      If x > y Then
      Worksheets("Feuil2").Range("b" & n).Value = y
      Else
      Worksheets("Feuil2").Range("b" & n).Value = x
      Worksheets("Feuil2").Range("c" & n).Value = y
      End If
      End If
      n = n + 1
      Loop
      End Sub
      mais il ne me permet que de faire la comparaison entre deux valeurs , alors que je veus chercher la température min et max de chaque ville , aussi je n'arrive pas à afficher les ville le mois qui correspond la température min ou max.
      merci encore un fois .
    2. bonjour willy,
      j’ai déjà essayé cette méthode mais le problème c’est ce que je veux c’est de chercher les la température minimales et maximales et d’afficher le mois qui correspond à cette température.
      alors le problème qui se pose c’est quand il y’a deux mois qui ont la même valeur min ou max comment je vais faire pour les afficher les deux
      merci
  2. Tente de te servir de l'enregistreur automatique.

    Outil - > Macro - > Enregistrement

    Ensuite tu fais manuellement tes actions

    Tu arrêtes l'enregistrement et modifie le code sortant. Tu verras cè très pratique !

    bonne chance
    1. Bonjour
      En supposant
      que la colonne A soit réservé au nom des villes
      que les températures soient dans les colonnes B à M

      Que le mini soit dans stocké dans la colonne O
      Que le maxi soit dans stocké dans la colonne P

      Essaie ceci

      Private Sub XXXXX()
      Dim T As Single, Tmin As Single, Tmax As Single
      Dim AA As String, XX As String

      Tmin = 0
      Tmax = 0
      Range("B1").Select

      Do Until IsEmpty(ActiveCell()) = True
      AA = ActiveCell.AddressLocal
      XX = ActiveCell.AddressLocal

      Do Until IsEmpty(ActiveCell()) = True
      XX = ActiveCell.AddressLocal
      T = ActiveCell.Value

      If Left(XX, 2) = "$B" Then 'premier test
      Tmin = T
      Tmax = T
      Else 'test suivant
      If T < Tmin Then 'nouveau mini
      Tmin = T
      End If
      If T > Tmax Then 'nouveau maxi
      Tmax = T
      End If
      End If
      ActiveCell.Offset(0, 1).Select
      Loop
      ActiveCell.Offset(0, 1).Formula = Tmin
      ActiveCell.Offset(0, 2).Formula = Tmax

      Range(AA).Select
      ActiveCell.Offset(1, 0).Select

      Loop
      End Sub


      Est ce bien le résultat cherché ?
      1. merci beaucoup pour ta réponse..je vais tester
    2. Bonjour,

      Pour ma part, je conseillerai d'utiliser dans une autre feuille (ou pas) directement les fonctions MAX et MIN d'excel !

      dans une cellule :
      =MAX(plage)
      =MIN (plage)

      c'est tout !
      1. L'inconvénient est que si la plage est modifiée,(ajout ou suppression de villes) il faut la redéfinir
      2. Bonjour

        Absolument pas. IL suffit de définir une colonne entière.
        Par exemple :
        =MAX(A:A)
    3. Bonjour;
      j'ai un probleme urgent du saturation d'un port d'un switch a ma connaissance ce probleme à 2 causes: le protocole ARP ou le flux donc je veux représenter mon probleme par un modele qui est appelé "réseau bayésien" (relation causale)(père;fils)
      j'utilise la notion d'apprentissage de paramètre donc j'insert dans le programe une base de donnè d'apprentissage contient des valeurs (V;F;I;M;F)( c'est a dire est ce que le switch est saturè ou pas et est ce que le poste a gènèrè une requète ARPou un flux (importante; moyenne;faible)). le probleme qui se pose j'ai enregistrè la base sous forme"CSV" et je veux la calculè la probabilitè de chaque valeurs(V;F;I;M.f) pour chaque colonne tel que le nombre de colonne de la matrice egale le nombre de noeud de rèseau bayèsien donc j'arrive pas a trouvè la fonction qui me fais ce travail et aussi je veux realisè une fonction qui peux me retenu le père et ses fils
      j'utilise le langage DELPHI
      svp aidez moi c urgent
      1. Poser votre question dans un nouveau post. Respectez celui-ci sans le polluer...
      2. @usok dèsolè j'ai fais une erreur