[VBA] Comment copier/coller une cellule

jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007 - 19 juin 2007 à 14:19
jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007 - 19 juin 2007 à 17:45
Bonjour
alors voila, j'ai un tableau avec 4 colonnes: Nom habitant; Nom proprietaire, adresse habitant, adresse proprietaire
ma colone Nom habitant est toujours renseigné, ainsi que l'adresse habitant.
La colone Nom proprietaire et adresse proprietaire n'etant pas renseigné tout le temps.
J'aimerais copier le Nom habitant dans la colone Nom proprietaire si celui ci est vide, de meme pour l'adresse.
J'ai vraiment du mal a commencer etant novice. Si on pouvait au moins m'orienté sa serai cool.

Merci d'avance.

9 réponses

fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
19 juin 2007 à 14:47
Salut,
Je pense que tu n'a pas besoin de VBA pour cela
Dans le cellule Nom habitant tu fais un test de savoir si la cellule Nom habitant n'est pas vide auquel cas tu lui affecte la valeur de ta cellule sinon tu fais rien (voir l'aide sur la fonction si)
(idem pour les adresses)

Si tu veux absolument saisir une adresse alors tu écrases la valeur de ta cellule...

 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
0
jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 15:05
Merci pour ta réponse.
Je voulais utilisé une macro parce que j'ai plusieurs fichiers aux meme format et je veux l'executé de facon "automatique".
Comment tu affectes la valeur de ta cellule vers une autre ? (j'ai regarder dans l'aide et jdois etre miro. Pour le Si ya tout, mais pas pour l'affectation du contenue de la cellule vers une autre)

Merci en tout cas
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
19 juin 2007 à 15:06
Salut,

Regarde ce petit bout de code :

Il te faut : deux zone de texte un bouton command1 et analyse le code
Dans la première Zone de texte tu mets : "Toto en vacances"
Dans la deuxième tu ne mets rien. 

Private Sub Command1_Click()

If Text1.Text = VbNullString then
    MsgBox "Veuillez renseigner la zone Text1 !"
    Exit sub
End if

If Text2.Text = VbNullString then
    Text1.Text = Text2.Text
Else
    MsgBox "La zone Text2 est déjà remplie !"
End if

End sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
19 juin 2007 à 15:37
Salut,
Je crois que son problème ne concerne pas les zones de texte mais les cellules excel
Pour affecter la valeur d'une cellule à nutre par VBA, il suffit de faire :

Sheets("Le nom de la feuille").Range("A1") = Sheets("Le nom de la feuille").Range("A5")
Tu peux ainsi jouer entre différent fichier avec workbooks
 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
0

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

Posez votre question
jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 16:18
Merci exploreur et fiko.

Fiko je travail la dessus.

je vous montre dés que j'ai reussi. Merci
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
19 juin 2007 à 17:06
salut,

il suffit de faire une boucle sur tes colonnes.
Admettons, tes infos sont dans les 4 premières colonnes :

Dim i As Long
For i = 1 To 100    'remplace 100 par la dernière ligne    If Cells(i, 3).Value vbNullString Then Cells(i, 3).Value Cells(i, 1).Value
Next i

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA
0
jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 17:07
alors voila ce que j'ai fais :

    Dim i As Integer
    Dim cell As Range
    i = 1
        For Each cell In Selection
            If Cells(i, 2) = Empty Then
            Sheets("Feuil1").Cells(i, 2) = Sheets("Feuil1").Cells(i, 1)
            End If
             i = i + 1
        Next cell

Comment on fait pour recuperer l'index de la cellule selectionné ?? (je suis trop movais).

Merci
0
jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 17:29
Je me debrouille en mettant un userform pour pouvoir rentrer de facon manuel les numeros de colonnes.
Merci pour votre aide en tout cas
0
jax06000 Messages postés 6 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 19 juin 2007
19 juin 2007 à 17:45
voila mon code final (sans la declaration des variables)

        For Each cell In Selection
            If Cells(ligne, colone_verif) = Empty Then
            Sheets("Feuil1").Cells(ligne, colone_verif) = Sheets("Feuil1").Cells(ligne, colone_copie)
            End If
            ligne = ligne + 1
             i = i + 1
        Next cell

tout bete mais sa marche bien :)
0