Macro pour la mise à jour

Résolu/Fermé
lali - 4 août 2008 à 15:39
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 5 août 2008 à 22:45
Bonjour,

Je suis stagiaire et je voudrai faire une macro qui permet de faire des mises à jour sur un page excel mais j'ai une connaisssance limitée sur les macros.
Veuillez m'aider .
Merci d'avance :-)
A voir également:

7 réponses

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
4 août 2008 à 15:45
Bonjour à toi.

Qu'entends-tu par mise à jour? Peux tu nous décrire un peux plus tes souhaits?
0
bah en fait par exemple j'ai un ensemble de données et j'aimerai faire une macro qui vérifie si le nom existe déja si c'est le cas alors elle met à jour les données(elle les modifies) et elle garde une même ligne ayant un nom unique, sinon elle crée une nouvelle ligne et elle saisie les données.Sachant que ces données sont extraites à partir de open workBench
0
salut
Merci pour ta réponse

Ce que je veux faire c'est avoir une macro qui permet de vérifier les doublons sur la première colonne et et modifier la ligne dont le nom existe en double par ses données c'est ce que j'appelle mise à jour ,sachant que le nom qui est unique je garde les même données.


Merci d'avance pour la réponse :-)
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51 > lali
5 août 2008 à 08:29
Bonjour, je comprends mieux ton problème, mais je ne vois pas trop comment y répondre en pratique.

J'aurais fait un bouton sur lequel tu mets une macro.
Puis tu fais deux boucles. la 2eme qui vérifie un enregistrement(cellule) avec les autres et la 1ere qui change d'enregistrement.
Dans la 2eme boucle, tu mets une condition, si elle existe tu deletes sinon tu laisses.
Tu vois le principe?

Si j'ai un peu de temps aujourd'hui j'essaierais de t'élaborer ce code (si tu n'y arrives pas^^)
0
lali > CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010
5 août 2008 à 09:12
Bonjour
Merci pour ta réponse

Je vais essayer d'appliquer ce que tu m'as dit et si j'ai un problème je te tiendrai au courant :-)

Merci encore
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
5 août 2008 à 09:33
Ok, bonne chance.

N'hésite pas à afficher ton code en cas de problème.
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
5 août 2008 à 10:54
Voilà, moi j'ai ça, ça marche plutôt bien:

Private Sub CommandButton1_Click()
Dim cell1, cell2 As String
Dim i, j, k As Integer

k = 0
For i = 1 To 5
cell1 = Replace("A" + Str(i), " ", "")

For j = 2 To 5
cell2 = Replace("A" + Str(j), " ", "")
If cell1 <> cell2 And Range(cell1).Value = Range(cell2).Value Then
Rows(j).Delete shift:=xlUp
k = k + 1
End If
Next j
Next i

If k <> 0 Then
MsgBox Sqr(k) & " ligne(s) supprimée(s)"
Else
MsgBox "Aucun Doublon"
End If

End Sub

Ca va me servir à moi aussi, donc je me suis dépéché de le faire.
0
oupsssssssssssssss


sorry sorry

Je vien de me rendre compte que le i va jusqu'à 5 ce qui explique mon erreur.ça ne vient pas de toi.

Excuse moi.
Et merci encore une fois.

En fait je voudrai te montrer un code que j'ai fait et qui ne marche pas comme je veux; en fait j'aimerai qu'il me fasse la somme de toutes les case de la colonne C tant que la case de la colonne A n'est pas "".

Je t'envoie le code et ça me ferait énormément plaisir si tu me réponds pour me dire l'erreur

Merci :-)




Sub Macro1()

Dim i As Integer
Dim j As Integer
Dim somme As Long


j = 2
For i = 1 To 11
'Boucle sur les cellules de la colonne A
'On sort de la boucle si la cellule testée (Cells(i, 1)) est vide
While Not IsEmpty(Cells(i, 1))

somme = Range("C" & i).Value
While IsEmpty(Cells(j, 1))
somme = somme + Range("C" & j).Value
Range("B" & i).Value = somme
j = j + 1

Wend
Next i
Wend


End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
5 août 2008 à 13:37
Le code que je t'es proposé, y'a quelques p'tits trucs a rajoutés.
Déja j = 1 dans la boucle, puis 5 ce n'était qu'un exemple ;), et surment d'autres choses à revoir.

Concernant ton code y'a deux choses (pour le moment car ça fonctionne pas ^^)
D'une tu ouvres une boucle for, puis une while puis une while. Mais quand tu fermes, tu fermes une while puis for puis while. Donc erreur ;)
Il faut aussi que tu déclares somme = 0 au début on sait jamais.
De plus il me semble que ton code s'execute à l'infini donc plantage.
0
Salut

désolé(e) de te déranger encore une fois mais en fait le code que tu m'as passé ne fait pas les mises à jour il supprime juste les lignes qui se répètent à partir de la deuxième fois(je veux dire il ne modifie pas les valeurs de la première ligne supposant par les valeurs de la 5ème ligne par exemple ( sachant qur le nom de la 5 éme ligne est le même que celui de la première)

Cei dit le code que je t'ai envoyé marche maintenant ,je l'ai corrigé.


Merci encore une fois
0
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
5 août 2008 à 22:45
Ok si ça marche c'est cool ;)

Met ton sujet en "Résolu"

Bonne soirée !
0